还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

通过API获取IP信息、IP归属地

来源:清泛原创     2015-11-30 15:06:00    人气:     我有话说( 0 人参与)

开发网站时有时需要获取用户IP地址相应的归属地信息,如ip所属区域、运营商等。一般采取调用第三方api的方式来获取ip信息,本文对常用的api做一个总结。

一、淘宝API接口:http://ip.taobao.com/service/getIpInfo.php?ip=8.8.8.8
{"code":0,"data":{"country":"\u7f8e\u56fd","country_id":"US","area":"","area_id":"","region":"","region_id":"","city":"","city_id":"","county":"","county_id":"","isp":"","isp_id":"","ip":"8.8.8.8"}}
注意:返回的json中有嵌套,解析时先解析出data,然后解析data中的数据项。
country:国家,area:区域(如中部、东部),region:省份,city:市,county:区县,isp:运营商。
推荐:解析的比较完整、准确。



二、新浪API接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=218.192.3.42
var remote_ip_info = {"ret":1,"start":-1,"end":-1,"country":"\u4e2d\u56fd","province":"\u5e7f\u4e1c","city":"\u5e7f\u5dde","district":"","isp":"","type":"","desc":""};
注意:返回的结果不是一个标准的json格式字符串,掐头去尾后进行json解析。
country:国家,province:省份,city:市,district:区县,isp:运营商。

新浪API接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=218.192.3.42
结果:1 -1 -1 中国 广东 广州
直接返回结果字符串,空格隔开。

缺点:运营商解析有时为空。



三、ip138http://www.ip138.com/ips138.asp?ip=8.8.8.8
返回一个网页,需要按照html规则使用正则表达式解析出相应内容,比较繁琐,不过ip138结果还比较准确。
缺点:非json数据,解析繁琐。



四、搜狐API
搜狐IP地址查询接口(默认GBK):http://pv.sohu.com/cityjson
搜狐IP地址查询接口(可设置编码):http://pv.sohu.com/cityjson?ie=utf-8
搜狐另外的IP地址查询接口:http://txt.go.sohu.com/ip/soip

缺点:貌似不能以ip作为参数,只能获取本机的ip。

API IP 归属地

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: