首页 > 杂项资源 > 全球IP地址数据库

全球IP地址数据库

2009年3月25日 发表评论 阅读评论 8,303 人阅读    

下面是一个免费的全球IP地址数据库,包括了国家,城市,地区,和经纬度,以便你可以利用Google Map在地图上标注。这个数据库的精确度可能有60%左右。

SQL format
更新至 2009年3月11日

CSV format (多文件)
更新至 2009年3月11日

下面是怎么使用这个数据库。

首先,所有的IP地址都是按一个整形来存放的,假设一个IP地址为A.B.C.D,那么其计算公式如下所示:

ip = (A*256+B)*256+C

也就是说,它只计算到网段为:A.B.C.0到A.B.C.255。例如:我们有一个IP地址为:74.125.45.100 (google.com),那么,

ip = (74*256+125)*256+45 = 4881709

这样,我们可以方便地使用如下的SQL语句搜索数据:

SELECT * FROM `ip_group_city`
WHERE`ip_start` <= 4881709 ORDER BY ip_start DESC LIMIT 1;

结果会是如下所示:

ip_start|country_code|region_code|city|zipcode|latitude|longitude
4881664|US|CA|Mountain View|94043|37.4192|-122.057

如果你想在线使用这些数据的话,你可以使用如下所示的网址:

http://blogama.org/ip_query.php?ip=74.125.45.100&output=xml

于是,你就会得到如下的XML数据:

<?xml version=“1.0″ encoding=“UTF-8″?>
<Response>
<Ip>74.125.45.100</Ip>
<Status>OK</Status>
<CountryCode>US</CountryCode>
<CountryName>United States</CountryName>
<RegionCode>CA</RegionCode>
 
<RegionName></RegionName>
<City>Mountain View</City>
<ZipPostalCode>94043</ZipPostalCode>
<Latitude>37.4192</Latitude>
<Longitude>-122.057</Longitude>
</Response>

如果你请求的是:

http://blogama.org/ip_query.php?ip=74.125.45.100&output=raw

这样你会得到CSV的格式:

74.125.45.100,OK,US,United States,CA,,Mountain View,94043,37.4192,-122.057

文章:来源

分类: 杂项资源 标签:
好烂啊有点差凑合看看还不错很精彩 (6 人打了分,平均分: 4.33 )
Loading ... Loading ...
  1. Sam
    2009年4月29日19:33 | #1

    那个sql文件超大呀,导入PMA都好麻烦。

    请问第二种方法,在线使用,用PHP要怎么写?

  2. Pullma
    2009年6月2日13:45 | #2

    麻烦能不能发个micrsoft sql base 的文件给我,sql文件太大了.先谢谢了。

  3. bluefee
    2009年12月10日21:03 | #3

    结果一点都不准

  4. 2009年12月15日14:48 | #4

    不准

  1. 2010年1月28日10:27 | #1
  2. 2012年4月17日21:43 | #2
  3. 2012年4月18日00:09 | #3
  4. 2012年5月3日08:57 | #4

无觅相关文章插件,快速提升流量