怎麼使用PHP查詢IP位址歸屬地

青灯夜游
發布: 2023-04-11 08:12:01
轉載
5423 人瀏覽過

PHP查詢IP位址歸屬地的步驟:1、開通IP位址歸屬地介面服務,取得介面請求Key;2、呼叫介面API發出請求,根據查詢的IP位址,查詢該IP所屬的區域;3、自訂juheHttpRequest()取得請求介面回傳的內容即可。

怎麼使用PHP查詢IP位址歸屬地

本教學操作環境: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;
}
登入後複製

推薦學習:《PHP影片教學

以上是怎麼使用PHP查詢IP位址歸屬地的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:sdk.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!