通过IP地址获取当前地理位置(省份)的接口

1.淘宝接口通过ip获取地址

  1. /**  
  2.    *  通过淘宝IP地址库获取IP位置  
  3.    *1. 请求接口(GET):http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串]  
  4.    *2. 响应信息:(json格式的)国家 、省(自治区或直辖市)、市(县)、运营商  
  5.    *3. 返回数据格式Json:  
  6.    *其中code的值的含义为,0:成功,1:失败。  
  7.    */  
  8.   function getTaobaoAddress(){  
  9.       $ipContent   = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=");  
  10.       $jsonData = explode("=",$ipContent);  
  11.       $jsonAddress = substr($jsonData[1], 0, -1);  
  12.       return $jsonAddress;  
  13.   }  

返回值:

  1. {  
  2.     "code": 0,  
  3.     "data": {  
  4.         "country": "中国",  
  5.         "country_id": "CN",  
  6.         "area": "华南",  
  7.         "area_id": "800000",  
  8.         "region": "广东省",  
  9.         "region_id": "440000",  
  10.         "city": "广州市",  
  11.         "city_id": "440100",  
  12.         "county": "",  
  13.         "county_id": "-1",  
  14.         "isp": "教育网",  
  15.         "isp_id": "100027",  
  16.         "ip": "218.192.3.42"  
  17.     }  
  18. }  


2.新浪接口通过ip获取地址

  1. /*     
  2.   * 新浪通过IP地址获取当前地理位置(省份)的接口   
  3.   * 新浪的接口是,返回json      
  4.   * http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js   
  5.   * http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=218.192.3.42   
  6.   * 参数有两个:format和ip  
  7.   * 1)IP:不传入ip值时默认为本机ip,也可以指定特定的ip地址;  
  8.   * 2)format:返回给客户端的数据格式有js和json格式:  
  9.   */     
  10.  public function getSinaAddress(){  
  11.      $ipContent   = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=");  
  12.      $jsonData = explode("=",$ipContent);  
  13.      $jsonAddress = substr($jsonData[1], 0, -1);  
  14.      return $jsonAddress;  
  15.  }  
返回值:
  1. {  
  2.     "ret": 1,  
  3.     "start": -1,  
  4.     "end": -1,  
  5.     "country": "中国",  
  6.     "province": "广东",  
  7.     "city": "广州",  
  8.     "district": "",  
  9.     "isp": "",  
  10.     "type": "",  
  11.     "desc": ""  
  12. }  

觉得哪个合适,就选用哪个;

不过有一个问题要注意,这两个接口毕竟是免费的,

自己练习的时候可以用,但在正规项目中还是用企业提供的接口;

因为这些接口的参数,如果改变你的项目就会出现问题

猜你喜欢

转载自blog.csdn.net/php_lzr/article/details/78059911