2015-03-02 60 views
-1

我想使用curl将数据发布到窗体,一切工作都很好,除了当我发送表单时,它使用服务器IP地址发送表单,但我真正想要做的是设置一个自定义用户代理(为什么我需要使用curl),我需要客户端的IP保持不变。使用客户端IP地址,同时使用PHP CURL发布表单数据

这是我现在使用的代码。

//open connection 
$ch = curl_init(); 

//set the url, number of POST vars, POST data 
curl_setopt($ch,CURLOPT_URL, $url); 

//The next line set the user agent to a custom one. 

curl_setopt($ch, CURLOPT_USERAGENT, "Mobile UA :" . $rrand); 
curl_setopt($ch,CURLOPT_POST, count($fields)); 
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string); 

//execute post 
$result = curl_exec($ch); 
//close connection 
curl_close($ch); 

我希望curl在发送表单时使用客户机IP地址,而不是托管php脚本的服务器的地址。如果可以设置自定义服务器地址来发布表单,那也是有帮助的。

+0

和你有什么合法的理由来进行IP欺骗? – 2015-03-02 21:58:01

+0

您希望使用来自用户浏览器的'jsonp'请求来执行您想要的操作 – cmorrissey 2015-03-02 22:00:26

+0

@cmorrissey - 您无法指定浏览器将发送JSONP请求的用户代理。 – Quentin 2015-03-02 22:08:34

回答

2

如果您能够伪造请求,使其看起来像来自用户的网络,那么响应也会发送到用户的网络,而无需等待它。

所以不,这是不可能的。

+0

只要数据成功发送,我就不需要收到响应。 – 2015-03-02 22:13:37