如何获得我的本地主机系统的公共IP地址
我连接到局域网..我可以访问互联网。使用浏览器,我可以使用搜索“我的IP是什么”来查找我的公共IP。如何获得我的本地主机系统的公共IP地址
我想用PHP
我运行的脚本在我localhost
WAMP服务器来获取公网IP ..
我想:
$_SERVER['REMOTE_ADDR'] and $_SERVER['SERVER_ADDR']` both give me `localhost ip ::1
是否有任何网络功能,这可以给我我的public ip address
。
有什么办法可以不使用任何外部服务?因为如果我使用外部服务,它可能在未来不可用。
感谢,
试试这个请:
$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库马尔建议
有没有任何方式没有使用任何外部服务? –
@Alessandro,https://httpbin.org/ip似乎更有希望 –
谢谢你兄弟的回答 –
也试试这个,并与print_r的
$ip= isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
检查认为你应该使用$ _SERVER ['REMOTE_ADDR']来获取路由器的IP地址
您可以使用API从本地主机获取公共IP地址。
<?php
$ip = file_get_contents('https://api.ipify.org');
echo "My public IP address is: " . $ip;
?>
的可能的复制[如何使用PHP获取公网IP地址?(https://stackoverflow.com/questions/23110995/how-to-get-public-ip-address-使用-php) – roberto06
关于你的编辑(不使用任何外部服务),不,你不能。 – roberto06
@ roberto06但取决于外部服务可能会打破我的代码在未来.. –