要查詢IP歸屬地,你可以使用一些免費(fèi)的IP地理位置API服務(wù)。以下是一個(gè)使用PHP查詢IP歸屬地的示例代碼,這里使用了?ipinfo.io
?的免費(fèi)API服務(wù):
<?php
function getIPGeolocation($ip) {
// 使用 ipinfo.io 的 API
$apiUrl = “https://ipinfo.io/{$ip}?token=<YOUR_API_TOKEN>”;
// 初始化 cURL
$ch = curl_init();
// 配置 cURL 選項(xiàng)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $apiUrl);
// 執(zhí)行 cURL 請(qǐng)求
$response = curl_exec($ch);
// 檢查是否有錯(cuò)誤
if (curl_errno($ch)) {
echo ‘Error:’ . curl_error($ch);
return null;
}
// 關(guān)閉 cURL 資源
curl_close($ch);
// 將 JSON 響應(yīng)轉(zhuǎn)換為數(shù)組
$data = json_decode($response, true);
return $data;
}
// 示例:查詢某個(gè)IP地址的歸屬地
$ip = “8.8.8.8”; // 你可以替換為任何你想要查詢的IP地址
$geolocation = getIPGeolocation($ip);
if ($geolocation) {
echo “IP: ” . $geolocation[‘ip’] . “\n”;
echo “城市: ” . $geolocation[‘city’] . “\n”;
echo “區(qū)域: ” . $geolocation[‘region’] . “\n”;
echo “國(guó)家: ” . $geolocation[‘country’] . “\n”;
echo “經(jīng)度: ” . $geolocation[‘loc’] . “\n”;
echo “組織: ” . $geolocation[‘org’] . “\n”;
} else {
echo “無(wú)法獲取IP歸屬地信息。”;
}
?>
注意事項(xiàng):
-
?API Token?:你需要去?ipinfo.io?注冊(cè)并獲取一個(gè)免費(fèi)的API Token,替換代碼中的?
<YOUR_API_TOKEN>
。 -
?cURL?:確保你的PHP環(huán)境已經(jīng)啟用了cURL擴(kuò)展。如果沒(méi)有啟用,可以通過(guò)修改?
php.ini
?文件來(lái)啟用它,或者聯(lián)系你的服務(wù)器管理員。 -
?錯(cuò)誤處理?:在實(shí)際應(yīng)用中,你應(yīng)該添加更多的錯(cuò)誤處理和驗(yàn)證邏輯,以確保程序的健壯性。
-
?API 限制?:免費(fèi)的API服務(wù)通常有請(qǐng)求限制,如果需要更頻繁的查詢,可能需要考慮付費(fèi)計(jì)劃或者使用其他服務(wù)。
通過(guò)這種方式,你可以很方便地查詢IP地址的歸屬地信息。