1.淘宝接口通过ip获取地址
/**
* 通过淘宝IP地址库获取IP位置
*1. 请求接口(GET):http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串]
*2. 响应信息:(json格式的)国家 、省(自治区或直辖市)、市(县)、运营商
*3. 返回数据格式Json:
*其中code的值的含义为,0:成功,1:失败。
*/
function getTaobaoAddress(){
$ipContent = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=");
$jsonData = explode("=",$ipContent);
$jsonAddress = substr($jsonData[1], 0, -1);
return $jsonAddress;
}
返回值:
{
"code": 0,
"data": {
"country": "中国",
"country_id": "CN",
"area": "华南",
"area_id": "800000",
"region": "广东省",
"region_id": "440000",
"city": "广州市",
"city_id": "440100",
"county": "",
"county_id": "-1",
"isp": "教育网",
"isp_id": "100027",
"ip": "218.192.3.42"
}
}
2.新浪接口通过ip获取地址
/*
* 新浪通过IP地址获取当前地理位置(省份)的接口
* 新浪的接口是,返回json
* http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
* http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=218.192.3.42
* 参数有两个:format和ip
* 1)IP:不传入ip值时默认为本机ip,也可以指定特定的ip地址;
* 2)format:返回给客户端的数据格式有js和json格式:
*/
public function getSinaAddress(){
$ipContent = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=");
$jsonData = explode("=",$ipContent);
$jsonAddress = substr($jsonData[1], 0, -1);
return $jsonAddress;
}
返回值:
{
"ret": 1,
"start": -1,
"end": -1,
"country": "中国",
"province": "广东",
"city": "广州",
"district": "",
"isp": "",
"type": "",
"desc": ""
}
觉得哪个合适,就选用哪个;
不过有一个问题要注意,这两个接口毕竟是免费的,
自己练习的时候可以用,但在正规项目中还是用企业提供的接口;
因为这些接口的参数,如果改变你的项目就会出现问题