设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 手机 数据 公司
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP查询IP地址归属地的流程是什么

发布时间:2023-01-09 08:47 所属栏目:121 来源:互联网
导读:这篇给大家分享的知识是PHP查询IP地址归属地的步骤是什么,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇PHP查询IP地址归属地的步骤是什么文章能帮助大家解决问题。 PHP查询IP地址归属地的步骤:1、开通IP地址归属
  这篇给大家分享的知识是“PHP查询IP地址归属地的步骤是什么”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“PHP查询IP地址归属地的步骤是什么”文章能帮助大家解决问题。
 
  PHP查询IP地址归属地的步骤:1、开通IP地址归属地接口服务,获取接口请求Key;2、调用接口API发出请求,根据查询的IP地址,查询该IP所属的区域;3、自定义juheHttpRequest()获取请求接口返回的内容即可。
 
  本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
 
  怎么查询IP地址归属地?下面本篇文章就来给大家介绍一下使用PHP查询IP地址归属地的方法。
 
  PHP查询IP地址归属地的步骤:
 
  1、开通接口
 
  P地址归属地接口服务使用的聚合数据提供的免费接口,可以通过 https://www.juhe.cn/docs/api/id/1?s=cpphpcn 注册及开通。
 
  2、根据查询的IP地址,查询该IP所属的区域
 
  // 接口请求Key,可以通过https://www.juhe.cn/docs/api/id/1免费申请开通
 
  $appkey = "*********************";
 
  //根据查询的IP地址,查询该IP所属的区域
 
  $url = "http://apis.juhe.cn/ip/ipNew";
 
  $params = [
 
      "ip" => "112.112.11.11",//需要查询的IP地址或域名
 
      "key" => $appkey,//应用APPKEY(应用详细页查询)
 
  ];
 
  $paramstring = http_build_query($params);
 
  $content = juheHttpRequest($url, $paramstring, 1);
 
  $result = json_decode($content, true);
 
  if ($result) {
 
      if ($result['error_code'] == 0) {
 
          echo "国家:{$result['result']['Country']}" . PHP_EOL;
 
          echo "省份:{$result['result']['Province']}" . PHP_EOL;
 
          echo "城市:{$result['result']['City']}" . PHP_EOL;
 
          echo "运营商:{$result['result']['Isp']}" . PHP_EOL;
 
      } else {
 
          echo "{$result['error_code']}:{$result['reason']}" . PHP_EOL;
 
      }
 
  } else {
 
      echo "请求失败";
 
  }登录后复制
 
  3、请求接口返回内容
 
  /**
 
   * 请求接口返回内容
 
   * @param string $url [请求的URL地址]
 
   * @param string $params [请求的参数]
 
   * @param int $ipost [是否采用POST形式]
 
   * @return  string
 
   */
 
  function juheHttpRequest($url, $params = false, $ispost = 0)
 
  {
 
      $httpInfo = array();
 
      $ch = curl_init();
 
      curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
 
      curl_setopt($ch, CURLOPT_USERAGENT, 'JuheData');
 
      curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
 
      curl_setopt($ch, CURLOPT_TIMEOUT, 5);
 
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
 
      if ($ispost) {
 
          curl_setopt($ch, CURLOPT_POST, true);
 
          curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
 
          curl_setopt($ch, CURLOPT_URL, $url);
 
      } else {
 
          if ($params) {
 
              curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);
 
          } else {
 
              curl_setopt($ch, CURLOPT_URL, $url);
 
          }
 
      }
 
      $response = curl_exec($ch);
 
      if ($response === FALSE) {
 
          //echo "cURL Error: " . curl_error($ch);
 
          return false;
 
      }
 
      $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
 
      $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
 
      curl_close($ch);
 
      return $response;
 
  }
 

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读