全球IP地址数据库
下面是一个免费的全球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
WHEREip_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数据:
如果你请求的是:
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
文章:来源
转载于酷壳CoolShell 无删改 仅以此纪念陈皓(左耳朵耗子)
十多年的苹果全家桶用户,今年打算下决心回归安卓 回归的说法,是因为在苹果之前我是三星、摩托罗拉和 HTC 的用户 因为古早的安卓生态实在是一眼难尽,为了避免折腾自己,当时转到了…
你是否相信如果你的程序里没有检查一个变量会导致怎么系统瘫痪?无论你相不相信,这是我一个亲身经历过的案例,你可以在本站的程序员那些悲催的事儿中找到很多这样的事。这样的事昨天在发生…
下面是JDK中有关23个经典设计模式的示例,在stakeoverflow也有相应的讨论: http://stackoverflow.com/questions/1673841/…
合速度