新浪ip地址转换接口
通过IP地址获取对应的地区信息通常有两种方法:
1)自己写程序,解析IP对应的地区信息,需要数据库。
2)根据第三方提供的API查询获取地区信息。
第一种方法,参见文本《通过纯真IP数据库获取IP地址对应的地区信息》,这种方法的维护代价较高,而且对自己的服务器有一定的压力。
随着技术的开放,第三方已经逐渐免费开放相应的API。经过测试,目前网易和新浪提供的较为稳定易用。
1)新浪IP地址查询API接口新浪的IP地址查询接口:
测试用例:
返回以下信息:
var remote_ip_info = {"ret":1,"start":"114.114.112.0","end":"114.114.119.255","country":"\u4e2d\u56fd","province":"\u6c5f\u82cf","city":"\u5357\u4eac","district":"","isp":"\u7535\u4fe1","type":"","desc":"\u5357\u4eac\u4fe1\u98ce114dns\u4e13\u5c5e"};
文字经过utf-8编码,分别对应不同的信息。
可以通过javascript跨域直接调用,如(使用jquery):
$.getScript(\'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=\'+ip, function(_result){
if (remote_ip_info.ret == \'1\'){
alert(\'IP 详细信息:\', \'IP:\'+ip+\'<BR>国 家:\'+remote_ip_info.country+\'<BR>省 份:\'+remote_ip_info.province+\'<BR>城 市:\'+remote_ip_info.city+\'<BR> 区:\'+remote_ip_info.district+\'<BR>ISP:\'+remote_ip_info.isp+\'<BR> 类型:\'+remote_ip_info.type+\'<BR>其他:\'+remote_ip_info.desc);
} else {
alert(\'错误\', \'没有找到匹配的 IP 地址信息!\');
}
查询IP地址:
举例:
返回xml文本信息:
<?xml version="1.0" encoding="gbk"?>
<smartresult>
<product type="ip">
<ip>114.114.114.114</ip>
<location>江苏省南京市 信风网络科技有限公司公众DNS服务器</location>
</product>
</smartresult>