2017-05-31 226 views
1

我連接到局域網..我可以訪問互聯網。使用瀏覽器,我可以使用搜索「我的IP是什麼」來查找我的公共IP。如何獲得我的本地主機系統的公共IP地址

我想用PHP

我運行的腳本在我localhost WAMP服務器來獲取公網IP ..

我想:

$_SERVER['REMOTE_ADDR'] and $_SERVER['SERVER_ADDR']` both give me `localhost ip ::1 

是否有任何網絡功能,這可以給我我的public ip address

有什麼辦法可以不使用任何外部服務?因爲如果我使用外部服務,它可能在未來不可用。

感謝,

+0

的可能的複製[如何使用PHP獲取公網IP地址?(https://stackoverflow.com/questions/23110995/how-to-get-public-ip-address-使用-php) – roberto06

+0

關於你的編輯(不使用任何外部服務),不,你不能。 – roberto06

+0

@ roberto06但取決於外部服務可能會打破我的代碼在未來.. –

回答

0

試試這個請:

$externalContent = file_get_contents('http://checkip.dyndns.com/'); 
preg_match('/Current IP Address: \[?([:.0-9a-fA-F]+)\]?/', $externalContent, $m); 
$externalIp = $m[1]; 

或者使用httpbin.org/ip作爲Priyesh庫馬爾建議

+0

有沒有任何方式沒有使用任何外部服務? –

+0

@Alessandro,https://httpbin.org/ip似乎更有希望 –

+0

謝謝你兄弟的回答 –

-1

也試試這個,並與print_r的

$ip= isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']; 
-1

檢查認爲你應該使用$ _SERVER ['REMOTE_ADDR']來獲取路由器的IP地址

3

您可以使用API​​從本地主機獲取公共IP地址。

https://www.ipify.org/

<?php 
    $ip = file_get_contents('https://api.ipify.org'); 
    echo "My public IP address is: " . $ip; 
?>