我一直在尝试使用代理发送curl请求。当我使用POST方法发送此类请求时,它工作正常,但它不适用于GET方法,我得到:
CURLE_RECV_ERROR(56) - 从对等方接收数据时失败。
出现这种情况的任何可能原因?
下面的代码返回此错误,而当我使用POST METHOD执行另一个url时,它可以正常工作。
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_POST , 0);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_HEADER , 1);
curl_setopt($handle, CURLOPT_MAXREDIRS , 5);
curl_setopt($handle, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($handle, CURLOPT_USERAGENT , 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4');
// curl_setopt($handle, CURLOPT_POSTFIELDS , "gender=M");
curl_setopt($handle,CURLOPT_PROXY , $proxyUrl);
curl_setopt($handle,CURLOPT_PROXYUSERPWD , $urlProxyUserPwd);
echo curl_exec($handle);
答案 0 :(得分:0)
您是否始终向特定服务器发送请求,或者始终为不同的服务器发送请求?
有问题的代理很可能需要使用POST方法而不是GET方法发送数据。
如果您可以向我们提供更多信息,也许还有一些错误日志,我们可以提供更多帮助。
答案 1 :(得分:0)
如果收到错误消息无法检索到提要:cURL错误56:Recv failure:处理提要时对等方重置连接,这是因为当脚本尝试从远程检索响应时网络连接被关闭服务器。
你能否增加服务器端的超时(如果服务器是urs)?