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

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": ""
}


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

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

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

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

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JSON_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值