Cara menggunakan PHP untuk menanyakan lokasi alamat IP

青灯夜游
Lepaskan: 2023-04-11 08:12:01
ke hadapan
5442 orang telah melayarinya

Langkah-langkah untuk PHP untuk menanyakan lokasi alamat IP: 1. Buka perkhidmatan antara muka lokasi alamat IP dan dapatkan kunci permintaan antara muka 2. Panggil API antara muka untuk membuat permintaan dan bertanyakan kawasan yang IP milik berdasarkan alamat IP yang ditanya ; 3. Sesuaikan juheHttpRequest() untuk mendapatkan kandungan yang dikembalikan oleh antara muka permintaan.

Cara menggunakan PHP untuk menanyakan lokasi alamat IP

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3

Bagaimana untuk menyemak pemilikan alamat IP? Artikel berikut akan memperkenalkan kepada anda cara menggunakan PHP untuk menanyakan lokasi alamat IP.

Langkah-langkah untuk PHP untuk menanyakan lokasi alamat IP:

1 Buka antara muka

P Antara muka percuma yang disediakan oleh data agregat yang digunakan oleh perkhidmatan antara muka atribusi alamat boleh didaftarkan dan diaktifkan melalui https://www.juhe.cn/docs/api/id/1?s=cpphpcn.

2 Menurut alamat IP yang ditanya, tanya kawasan yang menjadi milik 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 "请求失败";
}
Salin selepas log masuk

3 kembalikan kandungan

/**
 * 请求接口返回内容
 * @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;
}
Salin selepas log masuk

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Cara menggunakan PHP untuk menanyakan lokasi alamat IP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:sdk.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan