最近因为要开发一些跟用户相关的功能,需要用到ip地址查询用户的相关信息,所以就想到了调用一些成熟API减少工作量。
经过一番测试发现两个比较好用的API接口
- 新浪IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
- 淘宝 http://ip.taobao.com/service/getIpInfo.php?ip=183.129.210.50
新浪接口的调用:
(1)http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=183.129.210.50
返回数据:
var remote_ip_info = {"ret":1,"start":"183.128.0.0","end":"183.129.255.255","country":"\u4e2d\u56fd","province":"\u6d59\u6c5f",
"city":"\u676d\u5dde","district":"","isp":"\u7535\u4fe1","type":"","desc":""};
返回的数据经过编码,对应不同的信息。
可以通过js或者其他方式调用
(2) http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=183.129.210.50
返回数据:
1 183.128.0.0 183.129.255.255 中国 浙江 杭州 电信 或者 1 -1 -1 中国 浙江 杭州
第一个数字 1表示正常 -1表示内网,-2表示ip地址输入有误
第二和第三个字段 表示这一段内的ip都是对应相同的ip地址信息
第四个字段 表示所在国家
第五个字段 表示所在省
第六个字段 表示所在城市
第七个字段 表示网络所属运营商
淘宝接口的调用:
http://ip.taobao.com/service/getIpInfo.php?ip=183.129.210.50
返回数据:
{"code":0,"data":{"country":"\u4e2d\u56fd","country_id":"CN","area":"\u534e\u4e1c","area_id":"300000","region":"\u6d59\u6c5f\u7701",
"region_id":"330000","city":"\u676d\u5dde\u5e02","city_id":"330100","county":"","county_id":"-1","isp":"\u7535\u4fe1","isp_id":"100017","ip":"183.129.210.50"}}
返回的数据经过编码,对应不同的信息。
可以通过js或者其他方式调用
code的值 0:成功 1:失败
返回的json格式的数据代表国家 、省、市、运营商、ip地址