用PHP获取ISP的IP地址

用PHP获取ISP的IP地址,php,ip-address,php-5.3,php-5.4,php-5.5,Php,Ip Address,Php 5.3,Php 5.4,Php 5.5,如果我用php$\u SERVER['REMOTE\u ADDR']写,我得到的ip:176.x.x.x这个地址与我在cmd writed ipconfig中得到的地址相等 现在,如果我在谷歌上写“查找我的ip”,我会得到另一个ip:87.x.x.x 问题是:可以通过php获得此ip87.x.x.x?是的,可以使用$\u服务器['REMOTE\u ADDR']。唯一要做的是:把你的脚本放在互联网上的一些免费/非免费的网络主机上 您获得您的ip:176.x.x.x,因为此ip是您在本地网络中的ip

如果我用php
$\u SERVER['REMOTE\u ADDR']
写,我得到的ip:
176.x.x.x
这个地址与我在cmd writed ipconfig中得到的地址相等

现在,如果我在谷歌上写“查找我的ip”,我会得到另一个ip:
87.x.x.x


问题是:可以通过php获得此ip
87.x.x.x

是的,可以使用
$\u服务器['REMOTE\u ADDR']
。唯一要做的是:把你的脚本放在互联网上的一些免费/非免费的网络主机上

您获得您的ip:
176.x.x.x
,因为此ip是您在本地网络中的ip,并且您在本地网络中的计算机(或其他计算机)上运行webserver

您的本地网络通过路由器连接到internet。路由器连接两个网络,所以routerwise有两个ip地址:本地网络ip
(176.x.x.x)
和internet ip
(87.x.x.x)
。 根据Web服务器的位置,您将获得其中一个地址

当你用谷歌搜索你的ip时,你就是在互联网上寻找它。放置在internet中的Web服务器将看到您的internet ip地址。顺便说一句,您的本地网络ip被NAT伪装。

geoip_isp_by_name()函数将返回ip分配给的Internet服务提供商(isp)的名称

<?php
$isp = geoip_isp_by_name('www.example.com');
if ($isp) {
echo 'This host IP is from ISP: ' . $isp;
}
?>

使用以下函数获取客户端IP。希望它能起作用

function getClientIP() {
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

您从本地主机连接,并获得本地IPV4地址,因为这是用于通过网络连接到web服务器的地址。如果你是从互联网而不是从本地网络连接的,你会得到你在问题中询问的另一个IP地址。它对我有用。不知道为什么它对你不起作用。并在我第一次错过添加返回语句时编辑了代码。是否存在从浏览器获取ip的方法?