[英]How to get Public IP address of the client
我需要獲取客戶端的公共 IP 地址。
我已經嘗試過
getenv('REMOTE_ADDR') and also $_SERVER['REMOTE_ADDR']
但它只返回私有 ip ...
我用過這個:
function GetIp(){
//IP ADDRESS
$ipaddress = '';
if (getenv('HTTP_CLIENT_IP'))
$ipaddress = getenv('HTTP_CLIENT_IP');
else if(getenv('HTTP_X_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_X_FORWARDED_FOR');
else if(getenv('HTTP_X_FORWARDED'))
$ipaddress = getenv('HTTP_X_FORWARDED');
else if(getenv('HTTP_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_FORWARDED_FOR');
else if(getenv('HTTP_FORWARDED'))
$ipaddress = getenv('HTTP_FORWARDED');
else if(getenv('REMOTE_ADDR'))
$ipaddress = getenv('REMOTE_ADDR');
else
$ipaddress = 'UNKNOWN';
$AgentIp = $ipaddress;
return $AgentIp;
}
我正在尋找同樣的問題,並找到了基於 API 的出色解決方案。
要獲取公共 IP 地址,我們可以使用以下代碼:
<?php
$ip = file_get_contents('https://api.ipify.org');
echo "My public IP address is: " . $ip;
?>
API 站點網址: https://www.ipify.org/
: https://www.ipify.org/
現在回答這個問題為時已晚,但對其他人來說可能是半途而廢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.