新浪和淘宝ip地址地域查询库AIP

WordPress技术博客wp应用技术

此篇文章为wordpress开发经验分享,如果你也是一个开发者,那么希望本文能够给你的开发思路有一些帮助。

通过访客IP或者特定IP获取ip的省、市、城市等信息

我们在一些项目中,需要用到通过访客IP来获取该访客所在的国家、省/州、城市等信息,那么在wordpress的项目开发中,或者说以php语言项目开发中,我们如何对这些ip的地域进行获取呢?

如果是自己建立一个ip地域库,那么这就是一个非常繁琐的工作了,并且建立好了之后,我们还需要进行维护,对于我们的项目开发会有后续的一些维护成本,

因此在这里我们介绍国内的2个AIP,使用这个接口来获取这些信息,并且这篇文章是针对于php对信息的获取,在阅读时请注意区分。

新浪AIP接口的使用

国内比较好使用的AIP接口有2个,这里比较推荐新浪的,我们在实际项目开发中,一开始使用的是淘宝的AIP,但实际使用淘宝经常会出现返回错误或者页面无法打开的情况发生,因此换成了新浪。

新浪在后续使用中一直保持比较好的稳定性,因此这里我们也比较推荐新浪的AIP。

新浪和淘宝的AIP都是通过php解析输出json数据的,因此使用起来非常的方便。

新浪的AIP查询地址为:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=175.11.92.202

(最后的ip地址为查询的地址)

返回的json数据为:
var remote_ip_info =
{"ret":1,"start":-1,"end":-1,"country":"\u4e2d\u56fd","province":"\u6e56\u5357","city":"\u957f\u6c99","district":"","isp":"","type":"","desc":""};

json可获取到”country”(国家)、”province”(省/州)、”city”(城市)

因此使用php来获取这些信息是非常简单的,我们这里简单分享一下代码,已提供给大家参考:

 


$ip='175.9.49.175';//可设变量ip
$get_ip_url='http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip='.$ip;
$ip_results = file_get_contents($get_ip_url);
$jsonMatches = array();
preg_match('#\{.+?\}#', $ip_results, $jsonMatches);
if(!isset($jsonMatches[0])){ return false; }
$ip_result= json_decode($jsonMatches[0], true);
$city=$ip_result["city"];//获取城市
$country=$ip_result["country"];//获取国家
$province=$ip_result["province"];//获取省区

 

这样我们就能获取到我们想要的信息了。

比如输出一个  某某城市的朋友,欢迎访问之类的,或者你还有更加复杂的功能也可以使用到。

新浪的格式是城市名称,比如长沙,返回“长沙”两个字符。

淘宝AIP的使用

淘宝AIP在我们使用时出现了好几次不稳定的状态,因此如果你想要使用,还请斟酌,以免不稳定造成不便。

淘宝的获取地址为:http://ip.taobao.com/service/getIpInfo.php?ip=175.11.92.202

(最后的ip地址为查询的地址)

返回的json数据为:

{"code":0,"data":{"country":"\u4e2d\u56fd","country_id":"CN","area":"\u534e\u4e2d","area_id":"400000","region":"\u6e56\u5357\u7701","region_id":"430000","city":"\u957f\u6c99\u5e02","city_id":"430100","county":"","county_id":"-1","isp":"\u7535\u4fe1","isp_id":"100017","ip":"175.11.92.202"}}

这里也简单分享一下代码:

 

$ip='175.9.49.175';//可设变量ip
$get_ip_url='http://ip.taobao.com/service/getIpInfo.php?ip='.$ip;
$ip_result = file_get_contents($get_ip_url);
if($ip_result["code"]!=0){$repot="无法获取IP省区地址源";}else{
$ip_result = json_decode($ip_result,true);
$retrum_city=$ip_result["data"]["city"];}//$retrum_city就是获取到的城市

 

淘宝的格式是城市名称加市,比如长沙,返回“长沙市”三个字符。

通过这篇文字的介绍,你应该对于国内两家获取IP地域信息有所了解了,你可以参考说明,希望可以对你的开发思路有所帮助。

 

 

 

 

 

上一篇:

下一篇:

文章评论

您好!请登录

取消回复
    展开更多