>  기사  >  백엔드 개발  >  PHP를 사용하여 IP 주소의 위치를 ​​쿼리하는 방법

PHP를 사용하여 IP 주소의 위치를 ​​쿼리하는 방법

青灯夜游
青灯夜游앞으로
2022-10-17 14:05:455436검색

PHP가 IP 주소 위치를 쿼리하는 단계: 1. IP 주소 위치 인터페이스 서비스를 열고 인터페이스 요청 키를 얻습니다. 2. 인터페이스 API를 호출하여 요청하고 IP가 속한 영역을 쿼리합니다. 3. 자동으로 juheHttpRequest()를 정의하여 요청 인터페이스에서 반환된 콘텐츠를 가져옵니다.

PHP를 사용하여 IP 주소의 위치를 ​​쿼리하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 sdk.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제