在网上有很多的根据 ip 地址获取实际地址的教程
他们给了很多的现成接口,例:
新浪:’http://int.dpool.sina.com.cn/…’ . $ip
淘宝:”http://ip.taobao.com/service/getIpInfo.php?ip=”.$ip
等接口去根据 ip 地址获取实际地址的接口, 但是这些接口十分的不稳定,这里我推荐百度地图的根据 ip 获取实际地址的接口,经过测试,速度杠杠的,而且十分的稳定
一:登录 http://lbsyun.baidu.com/index… 获取秘钥:
填写相关的信息获取到一串秘钥
二:根据百度地图提供的接口地址获取实际地址信息
这里以普通 IP 定位为例:
根据教程编写根据 ip 获取实际地址代码:
<?php
function curl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
// 参数为 1 表示传输数据,为 0 表示直接输出显示。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 参数为 0 表示不带头文件,为 1 表示带头文件
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
$data_info=curl(“http://api.map.baidu.com/location/ip?ip=218.94.147.138&ak=XXXXXXXXX”);
//$data_info=file_get_contents(“http://api.map.baidu.com/location/ip?ip=218.94.147.138&ak=XXXXXXXXX”);
$data_info = json_decode($data_info,true); // 数据转换
echo ‘<pre>’;
print_r($data_info);
echo ‘</pre>’;
输出结果为: