如何获取我的localhost系统的公共IP地址

时间:2017-05-31 07:17:59

标签: php

我已连接到局域网..我可以访问互联网。使用浏览器我可以使用搜索找到我的公共IP"什么是我的IP"。

我想使用php获取公共IP

我在localhost wamp服务器中运行脚本..

我试过了:

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

是否有任何网络功能可以为我提供public ip address

有没有办法不使用任何外部服务?因为如果我使用外部服务,将来可能无法使用。

谢谢,

4 个答案:

答案 0 :(得分:4)

您可以使用API​​从localhost获取公共IP地址。

https://www.ipify.org/

<?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地址