上篇文章发过一次利用淘宝ip库获取ip归属地的方法[post cid="1818" /]但是今天下午我发现淘宝ip库访问提示502错误了,可能是调用的人太多炸了吧,由于一些业务需求,烟雨我又百度找了大概一个小时的免费ip库,终于又找到一个新方法->通过百度地图的WEB服务API中的普通ip定位API进行获取操作http://lbsyun.baidu.com/index.php?title=webapi/ip-api

以下为百度地图官方的使用文档截图:
百度地图官方使用文档
可以看到就算不认证的用户每天也可以调用100,000次,并发数6000次/分钟,一般使用足够了,不够的可以认证一下,就可以享受更多的调用“额度”!

上代码:

function get_ip_city($ip)
{
    $url="http://api.map.baidu.com/location/ip?ak=此参数请看说明&ip=".$ip;
    $ipinfo=json_decode(file_get_contents($url));
    $location = $ipinfo->{'content'}->{'address'};
    return $location;
}

*说明:请求参数开放者密匙ak请在http://lbsyun.baidu.com/apiconsole/key创建应用,并选择普通ip定位进行获取