这两天公司叫我做一个功能,通过获取用户的ip判断所在的地理位置,来做相对应的功能。
一开始试用的接口的新浪的API
http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=IP地址
但是因为这个API是不知道什么时候就停用的了,所以就算了
现在说可以使用的API:
淘宝API
缺点:
1.有时候调用速度很快,但是有时候回超过30秒而导致服务器报错,终结页面的运行
<?php
$ip = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$_GET["ip"]);
$ip = json_decode($ip,true);
?>
结果是返回JSON格式的如下
腾讯API
缺点:好像用户试用WIFI情况下定位不准确或者不会有返回数据
http://ip.taobao.com/service/getIpInfo.php?ip=IP
结果是返回JSON格式(别人告诉的,然而我测试没用)
搜狐API
缺点:
1.不能使用特定IP来查询,只能使用API原本查询的IP
2.在服务器测试中,API直接查询出了服务器的IP,并不是用户的IP
(这两个缺点感觉是我写代码的问题,但是我不知道怎么解,如果有大神解决了麻烦告诉我一下怎么解,谢谢)
搜狐IP地址查询接口(默认GBK):http://pv.sohu.com/cityjson
搜狐IP地址查询接口(可设置编码):http://pv.sohu.com/cityjson?ie=utf-8
搜狐另外的IP地址查询接口:http://txt.go.sohu.com/ip/soip
第一个和第二个分别是不同编码的API,返回结果如下
第三个API虽然有结果原谅我小白看不懂怎么使用,返回结果如下
126API
缺点:返回格式有点问题,不是UTF-8格式,转格式也失败
126API:http://ip.ws.126.net/ipquery?ip=IP
返回结果如下
太平洋API
这个API很强大:http://whois.pconline.com.cn
详细的看一下里面的说明吧
但是这个有问题 他JSON格式 属于回调 本地运行可以 放到项目里面就报错403
最终我也没有选择这个来使用
说明:该文章如有侵权,请联系我!该文章只供参考,有问题请各位自己担当哈!!在文章是在20180822编写,API有可能调用变动或者无法使用,请各位注意一下!