如何查找客户端(客户)的IP地址

时间:2015-06-22 13:33:05

标签: php ip

我需要浏览器的客户端(客户)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);
?>

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

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

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

但是这里的#ECHO&#39;我自己的服务器IP。

如何将客户端浏览器IP传送到我的服务器

4 个答案:

答案 0 :(得分:2)

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

谢谢。

答案 1 :(得分:1)

您是否在托管该网站?然后,当您浏览网站时,它会显示您自己的IP。

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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

您可能希望尝试从具有不同公共IP地址的不同计算机运行客户端脚本,以查看可见的差异。