簡體   English   中英

如何獲取客戶端的公共IP地址

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM