通过淘宝API接口查询客户端地址

admin 2014年10月24日 PHP学习 947次阅读 查看评论

  <?php
  /*
  通过淘宝API接口查询客户端地址
  调用淘宝的API接口http://ip.taobao.com/service/getIpInfo.php?ip=ip地址
  */
  $ip=get_ip_data();
  function get_ip_data(){
  $ip=file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".get_client_ip());
  $ip = json_decode($ip);
  if($ip->code){
  return false;
  }
  $data = (array) $ip->data;
  return $data;
  }
  //取客户端 ip
  function get_client_ip()
  {
  if (isset($_SERVER['HTTP_CLIENT_IP']) and!empty($_SERVER['HTTP_CLIENT_IP']))
  {
  return $_SERVER['HTTP_CLIENT_IP'];
  }
  if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) and!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
  {
  return strtok($_SERVER['HTTP_X_FORWARDED_FOR'], ',');
  }
  if (isset($_SERVER['HTTP_PROXY_USER']) and!empty($_SERVER['HTTP_PROXY_USER']))
  {
  return $_SERVER['HTTP_PROXY_USER'];
  }
  if (isset($_SERVER['REMOTE_ADDR']) and !empty($_SERVER['REMOTE_ADDR']))
  {
  return $_SERVER['REMOTE_ADDR'];
  }
  else
  {
  return "0.0.0.0";
  }
  }
  ?>


  http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串]  http://ip.taobao.com/instructions.php 接口说明

  1. 请求接口(GET):

  2. 响应信息:

  (json格式的)国家 、省(自治区或直辖市)、市(县)、运营商

  3. 返回数据格式:

  {"code":0,"data":{"ip":"210.75.225.254","country":"\u4e2d\u56fd","area":"\u534e\u5317",

  "region":"\u5317\u4eac\u5e02","city":"\u5317\u4eac\u5e02","county":"","isp":"\u7535\u4fe1",

  "country_id":"86","area_id":"100000","region_id":"110000","city_id":"110000",

  "county_id":"-1","isp_id":"100017"}}

  其中code的值的含义为,0:成功,1:失败。

  

function ipdata($ip,$name="0")
  {
  $url="http://ip.taobao.com/service/getIpInfo.php?ip=";
  $data=json_decode(file_get_contents($url.$ip));
  $ipdata=$data->data;
  if($name=="all") {return $ipdata;}
  else if($name=="0"){return $ipdata->country.$ipdata->region.$ipdata->city.$ipdata->isp;}
  else if($name=="1"){return $ipdata->country;}
  else if($name=="2"){return $ipdata->area;}
  else if($name=="3"){return $ipdata->region;}
  else if($name=="4"){return $ipdata->city;}
  else if($name=="5"){return $ipdata->county;}
  else if($name=="6"){return $ipdata->isp;}
  }function get_ip_data(){
  $ip=file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".get_client_ip());
  $ip = json_decode($ip);
  if($ip->code){
  return false;
  }
  $data = (array) $ip->data;
  return $data;
  }


« 上一篇 下一篇 » admin原创文章,转载请注明出处! 标签:ip地址phpphp开发

相关日志:

«   2020年11月   »
1
2345678
9101112131415
16171819202122
23242526272829
30
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
文章归档
网站收藏
友情链接
图标汇集
  • 又拍云
  • 订阅ipvb的RSS 2.0聚合