Php 如何告诉curl使用客户端而不是服务器?

Php 如何告诉curl使用客户端而不是服务器?,php,curl,ip,Php,Curl,Ip,我使用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_RETUR

我使用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);

嘿,那是不可能的。您不能使用其他人的IP地址作为呼叫的起始地址(当然,除非您将其误用为代理或欺骗地址)


如果你详细阐述了你想要实现的目标,也许有人会想出一个解决办法。

嘿,那是不可能的。您不能使用其他人的IP地址作为呼叫的起始地址(当然,除非您将其误用为代理或欺骗地址)


如果你详细阐述了你想要实现的目标,也许有人会想出一个解决办法。

不是。发送服务器IP是因为您正在查看的网站需要知道在哪里再次发送数据


如果你最终伪造了IP,而这是CURL无法做到的(你需要操纵原始数据包/套接字的东西),那么你的代码将永远看不到回复。

事实并非如此。发送服务器IP是因为您正在查看的网站需要知道在哪里再次发送数据

如果您最终伪造了IP,而这是CURL无法做到的(您需要处理原始数据包/套接字的东西),那么您的代码将永远看不到回复。

PHP不会在客户端机器上运行。通过PHP进行的任何网络连接都将使用web服务器作为连接客户端。如果您将其概念化为这样,可能会有所帮助:当客户机访问您的PHP页面时,PHP将在您的服务器上执行并生成一个HTML页面。就是生成的HTML页面通过网络发送到客户端,而不是任何PHP代码。PHP只是一个动态生成HTML页面的工具

我看到的唯一解决方案是动态更改iframe的URL,然后使用javascript解析iframe的内容。如果您希望信息返回给您,您可以使用AJAX例程连接并返回从iframe收集的javascript信息。

PHP不会在客户端机器上运行。通过PHP进行的任何网络连接都将使用web服务器作为连接客户端。如果您将其概念化为这样,可能会有所帮助:当客户机访问您的PHP页面时,PHP将在您的服务器上执行并生成一个HTML页面。就是生成的HTML页面通过网络发送到客户端,而不是任何PHP代码。PHP只是一个动态生成HTML页面的工具



我看到的唯一解决方案是动态更改iframe的URL,然后使用javascript解析iframe的内容。如果您希望信息返回给您,您可以使用AJAX例程进行连接,返回并传递javascript从iframe收集的任何信息。

Php代码不在客户端计算机上运行,句号。也许类似的事情可以在javascript中完成。由于同源策略,javascript可能也是一个禁忌。我是按照IFRAME的思路思考的,但我认为这也无助于OP。我该怎么做?什么是最好的方法。。我不是代码或程序员,只是在这里学习。动态更改iframe的URL,然后使用javascript解析iframe的内容??如何做>你能在这方面提供帮助吗?Php代码不会在客户端机器上运行,句号。也许类似的事情可以在javascript中完成。由于同源策略,javascript可能也是一个禁忌。我是按照IFRAME的思路思考的,但我认为这也无助于OP。我该怎么做?什么是最好的方法。。我不是代码或程序员,只是在这里学习。动态更改iframe的URL,然后使用javascript解析iframe的内容??我的情况是,一个用户提交了一个url,它从该网站收集了一些信息,我所要做的就是让curl使用用户的ip而不是服务器。您提到的方法(代理或欺骗)是否可行。curl可以使用用户ip作为代理吗?不,不可能。blowdart在其回答的第二段中描述了欺骗,您不能将用户用作代理(幸运的是)。如果希望用户获取数据,则需要在其计算机上安装应用程序。你为什么需要用户的IP呢?这听起来有点可疑。因为如果有太多人同时连接,网站会暂时挂起ip,但是如果curl可以使用用户ip,那么我知道这不会发生。很抱歉,你无法回避这一点——它太接近非法使用,比如出于恶意目的劫持用户的计算机。您必须在用户的计算机上安装应用程序,或者使用一些Flash或Java,但由于跨域策略,即使有数千个应用程序也可能无法安装。如果有每IP速率限制,您可以始终将一系列IP分配给服务器,并显式绑定到它们。但是你必须由服务的维护者来运行——如果他们不批准,他们无论如何都会禁止你。我的情况是,一个用户提交了一个url,它从该网站收集了一些信息,我所要做的就是让curl使用用户的ip,而不是服务器。您提到的方法(代理或欺骗)是否可行。curl可以使用用户ip作为代理吗?不,不可能。blowdart在其回答的第二段中描述了欺骗,您不能将用户用作代理(幸运的是)。如果希望用户获取数据,则需要在其计算机上安装应用程序。你为什么需要用户的IP呢?这听起来有点可疑。因为如果有太多人同时连接,网站会暂时挂起ip,但是如果curl可以使用用户ip,那么我知道这不会发生。对不起,你不能回避这个问题——它太接近非法使用,比如劫持用户的电脑