2017-05-31 88 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; 
?> 
相关问题