目前作一个项目,须要判断是国内仍是国外的IP,具体要求为接口稳定,速度快,免费,不异常
,因此我整理了优质的接口供你们筛选。php
IP归属地查询APIjson
一,淘宝API接口
http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串]
在ip
参数中添加你要查询的ip
,数据报道查看为json
格式。包括国家地区运营商等数据。api
{"code":0,"data":{"ip":"221.218.209.125","country":"中国","area":"","region":"北京","city":"北京","county":"XX","isp":"联通","country_id":"CN","area_id":"","region_id":"110000","city_id":"110100","county_id":"xx","isp_id":"100026"}}
测评结果:ruby
查询到: 110 未查询到: 0 报错: 890 执行时间 314.29S
二,IP-API接口
调用能够http://ip-api.com/json/
接口查询域名,默认为当前请求的IP
。bash
# 国际化英文显示 http://ip-api.com/json/ # 修改语言编码 http://ip-api.com/json/?lang=zh-CN # 修改IP信息 http://ip-api.com/json/115.191.200.34?lang=zh-CN
数据报道查看为json
格式。包括国家地区运营商等数据。jsp
{"as":"AS6106 University of California, Riverside","city":"里弗赛德","country":"美国","countryCode":"US","isp":"University of California, Riverside","lat":33.9473,"lon":-117.4008,"org":"University of California, Riverside","query":"169.235.24.133","region":"CA","regionName":"加利福尼亚州","status":"success","timezone":"America/Los_Angeles","zip":"92521"}
测评结果:ide
没有测试完,应该是有调用量限制,不过一开始查询比淘宝快。
三,搜狐IP地址查询
http://pv.sohu.com/cityjson # 设置编码 http://pv.sohu.com/cityjson?ie=utf-8
当前只能查到区域信息,数据划分不是很明确:测试
var returnCitySN = {"cip": "221.218.209.125", "cid": "110108", "cname": "北京市海淀区"};
四,太平洋IP地址查询
太平洋IP地址库API接口为:编码
http://whois.pconline.com.cn/ipJson.jsp?ip=xxx.xxx.xxx.xxx&json=true
查询到数据以下:spa
{"ip":"221.218.209.125","pro":"北京市","proCode":"110000","city":"北京市","cityCode":"110000","region":"海淀区","regionCode":"110108","addr":"北京市海淀区 联通ADSL","regionNames":"","err":""}
太平洋IP查询的更多接入方式查看http://whois.pconline.com.cn/
测试结果:
查询到: 1000 未查询到: 0 报错: 0 执行时间 68.51S
调用了三个接口,淘宝那个接口好用,可是对查询的频率有限制,瑕疵有点大,特地增长后面的两个接口,防止查询屡次查询不出来的结果。