Return to Snippet

Revision: 68269
at December 22, 2014 22:09 by Hexahow


Initial Code
/// <summary>
/// Convert IPV6 Address to IP Number
/// Free geolocation database can be downloaded at:
/// http://lite.ip2location.com/
/// </summary>
 
string strIP = "2404:6800:4001:805::1006";
System.Net.IPAddress address;
System.Numerics.BigInteger ipnum;
 
if (System.Net.IPAddress.TryParse(strIP, out address)) {
byte[] addrBytes = address.GetAddressBytes();
 
if (System.BitConverter.IsLittleEndian) {
System.Collections.Generic.List<byte> byteList = new System.Collections.Generic.List<byte>(addrBytes);
byteList.Reverse();
addrBytes = byteList.ToArray();
}
 
if (addrBytes.Length > 8) {
//IPv6
ipnum = System.BitConverter.ToUInt64(addrBytes, 8);
ipnum <<= 64;
ipnum += System.BitConverter.ToUInt64(addrBytes, 0);
} else {
//IPv4
ipnum = System.BitConverter.ToUInt32(addrBytes, 0);
}
}

Initial URL
http://lite.ip2location.com/

Initial Description
Use the code below to convert the IP address of your web visitors and lookup for their geographical location, e.g. country, state, city, latitude/longitude, ZIPs, timezone and so on. Free database can be downloaded at http://lite.ip2location.com.

Initial Title
Convert IPv6 Address to IP numbers (C#)

Initial Tags
ip

Initial Language
C#