我已连接到局域网..我可以访问互联网。使用浏览器我可以使用搜索找到我的公共IP"什么是我的IP"。
我想使用php获取公共IP
我在localhost
wamp服务器中运行脚本..
我试过了:
$_SERVER['REMOTE_ADDR'] and $_SERVER['SERVER_ADDR']` both give me `localhost ip ::1
是否有任何网络功能可以为我提供public ip address
。
有没有办法不使用任何外部服务?因为如果我使用外部服务,将来可能无法使用。
谢谢,
答案 0 :(得分:4)
您可以使用API从localhost获取公共IP地址。
<?php
$ip = file_get_contents('https://api.ipify.org');
echo "My public IP address is: " . $ip;
?>
答案 1 :(得分:2)
$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 Kumar建议
答案 2 :(得分:-1)
尝试这一点并检查print_r
$ip= isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
答案 3 :(得分:-1)
认为您应该使用$ _SERVER [&#39; REMOTE_ADDR&#39;]来获取路由器的IP地址