淘宝IP地址查询接口:http://ip.taobao.com/service/getIpInfo.php?ip=【ip地址】
$url='http://ip.taobao.com/service/getIpInfo.php?ip=113.118.198.201';
$result = file_get_contents($url);
$result = json_decode($result,true);
结果例子:
Array
(
[country] => 中国
[country_id] => CN
[area] => 华南
[area_id] => 800000
[region] => 广东省
[region_id] => 440000
[city] => 深圳市
[city_id] => 440300
[county] =>
[county_id] => -1
[isp] => 电信
[isp_id] => 100017
[ip] => 113.118.198.201
)
优点:数据返回的是json格式,数据信息详细,调用方便。
缺点:访问限制,最近经常出现502.
搜狐IP地址查询接口(默认GBK):http://pv.sohu.com/cityjson
搜狐IP地址查询接口(可设置编码):http://pv.sohu.com/cityjson?ie=utf-8
$url = "http://pv.sohu.com/cityjson?ie=utf-8";
$cityInfo = file_get_contents($url);
结果例子:
var returnCitySN = {"cip": "113.118.198.201", "cid": "440300", "cname": "广东省深圳市"};
单独获取某个数据
preg_match('/"cid": "([0-9]+)"/',$cityInfo,$matches);
$city_id = isset($matches[1]) ? $matches[1] : '';
结果例子:
440300
优点:速度快。
缺点:数据信息不够详细,本地测试正常,放服务器IP地址会有变化,定位不精准。(PS:如果有解决方案,请告诉我。谢谢)
百度ip地址查询接口:http://api.map.baidu.com/location/ip
$url = "http://api.map.baidu.com/location/ip?ip=".$ip."&ak=p6ufcWtNc5dipIuLPLiyuRn1GQ5IyUOR&coor=bd09ll";
$result = file_get_contents($url);
$cityInfo = json_decode($result,true);
结果例子:
{
address: "CN|北京|北京|None|CHINANET|1|None", #地址
content: #详细内容
{
address: "北京市", #简要地址
address_detail: #详细地址信息
{
city: "北京市", #城市
city_code: 131, #百度城市代码
district: "", #区县
province: "北京市", #省份
street: "", #街道
street_number: "" #门址
},
point: #当前城市中心点
{
x: "116.39564504",
y: "39.92998578"
}
},
status: 0 #返回状态码
}
优点:稳定,快速。IP定位准确。