Home > Backend Development > PHP Tutorial > How to use PHP to query the location of an IP address

How to use PHP to query the location of an IP address

青灯夜游
Release: 2023-04-11 08:12:01
forward
5482 people have browsed it

Steps for PHP to query the IP address location: 1. Open the IP address location interface service and obtain the interface request key; 2. Call the interface API to make a request and query the area to which the IP belongs based on the queried IP address. ; 3. Customize juheHttpRequest() to obtain the content returned by the request interface.

How to use PHP to query the location of an IP address

The operating environment of this tutorial: Windows 7 system, PHP version 8.1, DELL G3 computer

How to check the IP address ownership? The following article will introduce to you how to use PHP to query the location of the IP address.

Steps for PHP to query the IP address:

1. Open the interface

P The free interface provided by the aggregated data used by the address attribution interface service can be registered and activated through https://www.juhe.cn/docs/api/id/1?s=cpphpcn.

2. Based on the queried IP address, query the area to which the IP belongs.

// 接口请求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 "请求失败";
}
Copy after login

3. Request the content returned by the interface

/**
 * 请求接口返回内容
 * @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;
}
Copy after login

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of How to use PHP to query the location of an IP address. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:sdk.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template