【问题标题】:How to find IP address of a client (customer)如何查找客户端(客户)的 IP 地址
【发布时间】:2015-09-07 23:38:04
【问题描述】:

我需要浏览器的客户端(客户)IP地址。

这是php中的客户端页面

<?php
    $xml_request = '<XMLRequest>
    <RequestType>ServiceRequest</RequestType>
    <RequestLogin>test</RequestLogin>
    </XMLRequest>';

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://testserver.com/test_xml/request.php');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_ENCODING,'gzip');
    curl_setopt($ch, CURLOPT_POST, true ); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_request);
    echo curl_exec($ch); curl_close($ch);
?>

这是我的服务器页面 'http://testserver.com/test_xml/request.php' 在 php 中

$service_request = file_get_contents('php://input');

echo  'Client IP Address: '. $_SERVER['REMOTE_ADDR'];

但这里是“ECHO”我自己的服务器 IP。

我如何将客户端浏览器 IP 获取到我的服务器

【问题讨论】:

标签: php ip


【解决方案1】:

您在托管网站吗?然后它会在您查看网站时显示您自己的 IP。

【讨论】:

    【解决方案2】:

    它不会那样工作,因为您从客户端页面调用服务器页面,这些页面都位于您的服务器上并使用 PHP。因此,在您的场景中,服务器会询问自己的 IP 地址(客户端和服务器相同)。

    您可以将$_SERVER['REMOTE_ADDR'] 放在您的客户页面上。但我也不明白为什么你有一个用 PHP 编写的“客户端”和一个“服务器”页面,一个用 curl 调用另一个页面。这似乎是一种可怕的做法。

    【讨论】:

      【解决方案3】:

      您正在从自己的服务器发出 http 请求,这就是您获得服务器 IP 的原因。要解决您的问题,您必须在客户端页面中进行更改(例如,向 XML 请求添加其他参数或添加带有客户端 IP 地址的自定义标头)

      谢谢。

      【讨论】:

        【解决方案4】:

        正如 Jumes 所回答的,您使用的是正确的服务器变量。如果您从服务器控制台 [或通过其他方法] 运行脚本,则会显示您的服务器 IP 地址。

        您可能想尝试从不同的机器(具有不同的公共 IP 地址)运行客户端脚本以查看明显的差异。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-10-04
          • 1970-01-01
          • 2011-10-22
          • 2012-03-14
          • 2012-02-16
          • 2010-11-03
          • 2015-12-20
          相关资源
          最近更新 更多