当尝试使用代理打开URL时,CURLE_RECV_ERROR 56

时间:2011-12-09 10:47:33

标签: php curl libcurl

我一直在尝试使用代理发送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);

2 个答案:

答案 0 :(得分:0)

您是否始终向特定服务器发送请求,或者始终为不同的服务器发送请求?

有问题的代理很可能需要使用POST方法而不是GET方法发送数据。

如果您可以向我们提供更多信息,也许还有一些错误日志,我们可以提供更多帮助。

答案 1 :(得分:0)

如果收到错误消息无法检索到提要:cURL错误56:Recv failure:处理提要时对等方重置连接,这是因为当脚本尝试从远程检索响应时网络连接被关闭服务器。

你能否增加服务器端的超时(如果服务器是urs)?