我正在使用curl从网站获取一些信息,但它使用服务器IP地址,但我希望它使用客户端IP地址,所以每个用户发送请求与他们自己的IP而不是服务器,这怎么可能?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "URL");
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
$buffer = curl_exec($ch);
curl_close($ch);
答案 0 :(得分:3)
不是。发送服务器IP是因为您正在查看的网站需要知道将数据重新发送回去的位置。
如果您最终伪造了IP,这是CURL无法做到的(您需要一些操作原始数据包/套接字的东西),那么您的代码将永远不会看到回复。
答案 1 :(得分:1)
如果你详细说明你想要实现的目标,也许有人想出一个解决方法。
答案 2 :(得分:0)
PHP在客户端的计算机上运行而不是。通过PHP完成的任何网络连接都将通过您的Web服务器作为连接客户端完成。如果您将其概念化为此可能会有所帮助:当客户端访问您的PHP页面时,PHP会在您的服务器上执行并生成HTML页面。生成的HTML页面是通过网络发送到客户端的,而不是任何PHP代码。 PHP只是一个动态生成HTML页面的工具。
我看到的唯一解决方案是动态更改iframe的URL,然后使用javascript解析iframe的内容。如果您希望将信息发送给您,您可以使用AJAX例程连接并提供您从jirame收集的任何信息。