这是一个在Google App Engine上搭建的提供中文国内IP地址查询的服务。与一般同类服务稍有区别的是这里主要是提供了一个简单的API,你可以将IP地址查询的结果以 JSON或XML格式取得,应用在你的服务当中。
上海市长宁区 /普陀区电信
提供的API地址如下
GET http://ip2loc.appspot.com/q/?ip={ip}
其中提供参数:
参数 | 意义 | 备注 |
ip | 需要查询的IP | 只支持IPv4格式,如255.255.255.255 |
alt | 返回数据格式 | 可选格式为json, xml, plainnew。不提供该参数则默认返回json格式数据 |
返回的数据中,c,a为递进的位置关系。所有数据都采用UTF-8编码。
例如
GET http://ip2loc.appspot.com/q/?ip=11.22.33.44
返回结果为
{ "c":"美国", "a":"DoD网络信息中心" }
返回xml格式
GET http://ip2loc.appspot.com/q/?ip=11.22.33.44&alt=xml
返回结果为
<?xml version="1.0" encoding="UTF-8"?> <addr> <c>美国</c> <a>DoD网络信息中心</a> </addr>
返回plain格式new
GET http://ip2loc.appspot.com/q/?ip=11.22.33.44&alt=plain
返回结果为文本,c和a之间以换行符隔开
美国 DoD网络信息中心
本站使用web.py搭建,使用了著名的纯真IP数据库。
用Python查询纯真IP库的方法使用了这篇文章中介绍的程序。
在这里可以下载本站的源代码
对于web api和web开发我都不是非常熟悉,
如果你发现这个API使用中有什么问题,或者发现需要有改进的地方,
请邮件联系我: jagttt在gmail
当前IP数据库更新日期:2009.07.20
2010.07.23 加入plain返回格式
<?php
/**
* 获取ip地址
*@param string $ip 要查询的IP地址 IPV4 点分十进制 如119.112.63.25
*@param string $format 格式化输出 enum: xml,json(default),plain
*@return IP 所在城市和所属网络运营商
*/
function getIP($ip,$format)
{
$url = "http://ip2loc.appspot.com/q/?ip={$ip}&alt={$format}";
return file_get_contents($url);
}
//如
$ip=$_SERVER["REMOTE_ADDR"];
$ipinfo=getIP($ip,'json');
//$ipinfo = json_decode($ipinfo,1)+array('ip'=>$ip);
print_r($ipinfo);
//输出
/*
Array
(
[c] => 北京市
[a] => 电信
[ip] => 60.247.119.202
)
*/
?>
loading