Tuesday, August 12, 2008

How do Convert IP Address to Country Name

CodeProject: How do Convert IP Address to Country Name. Free source code and programming help: "How do Convert IP Address to Country Name"
How do I convert a IP Address to a IP Number?
IP address (IPV4) is divided into 4 sub-blocks. Each sub-block has a different weight number each powered by 256. IP number is being used in the database because it is efficient to search between a range of number in database.Beginning IP number and Ending IP Number are calculated based on following formula:
IP Number = 16777216*w + 65536*x + 256*y + z (1)whereIP Address = w.x.y.z
For example, if IP address is "202.186.13.4", then its IP Number "3401190660" is based on the formula (1).
IP Address = 202.186.13.4So, w = 202, x = 186, y = 13 and z = 4IP Number = 16777216*202 + 65536*186 + 256*13 + 4 = 3388997632 + 12189696 + 3328 + 4 = 3401190660
To reverse IP number to IP address,
w = int ( IP Number / 16777216 ) % 256x = int ( IP Number / 65536 ) % 256y = int ( IP Number / 256 ) % 256z = int ( IP Number ) % 256where
%
is the mod operator and
int
returns the integer part of the division.
How do I retrieve the Country Name and Country Code from the IP Number?
Search the IP-Country database to match a unique record that has the IP Number fits between Beginning IP Number and Ending IP Number.For example, IP Address "202.186.13.4" is equivalent to IP Number "3401190660". It belongs to the following record in the database because it is between the beginning and the ending of IP number.
"3401056256","3401400319","MY","MALAYSIA"
From the recordset, the Country Name is Malaysia and Country Code is MY.http://www.ip2location.com/faqs-ip-country.aspx

No comments: