生命不息,奋斗不止/创造价值-传递价值-获得价值
所谓迷茫,就是才华配不上梦想 每一个让你难堪的现在,都有一个不够努力的曾经

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

此篇文章为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":"u4e2du56fd","province":"u6e56u5357","city":"u957fu6c99","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":"u4e2du56fd","country_id":"CN","area":"u534eu4e2d","area_id":"400000","region":"u6e56u5357u7701","region_id":"430000","city":"u957fu6c99u5e02","city_id":"430100","county":"","county_id":"-1","isp":"u7535u4fe1","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地域信息有所了解了,你可以参考说明,希望可以对你的开发思路有所帮助。

赞(0)
未经允许不得转载:jack361博客 » 新浪和淘宝ip地址地域查询库AIP

如果你爱我或恨我,请↓

联系我