
要查询IP归属地,你可以使用一些免费的IP地理位置API服务。以下是一个使用PHP查询IP归属地的示例代码,这里使用了 ipinfo.io 的免费API服务:
<?php
function getIPGeolocation($ip) {
// 使用 ipinfo.io 的 API
$apiUrl = “https://ipinfo.io/{$ip}?token=<YOUR_API_TOKEN>”;
// 初始化 cURL
$ch = curl_init();
// 配置 cURL 选项
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $apiUrl);
// 执行 cURL 请求
$response = curl_exec($ch);
// 检查是否有错误
if (curl_errno($ch)) {
echo ‘Error:’ . curl_error($ch);
return null;
}
// 关闭 cURL 资源
curl_close($ch);
// 将 JSON 响应转换为数组
$data = json_decode($response, true);
return $data;
}
// 示例:查询某个IP地址的归属地
$ip = “8.8.8.8”; // 你可以替换为任何你想要查询的IP地址
$geolocation = getIPGeolocation($ip);
if ($geolocation) {
echo “IP: ” . $geolocation[‘ip’] . “\n”;
echo “城市: ” . $geolocation[‘city’] . “\n”;
echo “区域: ” . $geolocation[‘region’] . “\n”;
echo “国家: ” . $geolocation[‘country’] . “\n”;
echo “经度: ” . $geolocation[‘loc’] . “\n”;
echo “组织: ” . $geolocation[‘org’] . “\n”;
} else {
echo “无法获取IP归属地信息。”;
}
?>
注意事项:
-
API Token:你需要去 ipinfo.io 注册并获取一个免费的API Token,替换代码中的
<YOUR_API_TOKEN>。 -
cURL:确保你的PHP环境已经启用了cURL扩展。如果没有启用,可以通过修改
php.ini文件来启用它,或者联系你的服务器管理员。 -
错误处理:在实际应用中,你应该添加更多的错误处理和验证逻辑,以确保程序的健壮性。
-
API 限制:免费的API服务通常有请求限制,如果需要更频繁的查询,可能需要考虑付费计划或者使用其他服务。
通过这种方式,你可以很方便地查询IP地址的归属地信息。








