【问题标题】:CURLE_RECV_ERROR 56 when trying to open a url with proxyCURLE_RECV_ERROR 56 尝试使用代理打开 url
【发布时间】:2011-12-09 10:47:32
【问题描述】:

我一直在尝试使用代理发送 curl 请求。当我使用 POST 方法发送此类请求时,它工作正常,但它不适用于 GET 方法,我得到:

CURLE_RECV_ERROR (56) - 从对等方接收数据时失败。

出现这种情况的任何可能原因?

下面的代码返回此错误,而当我使用另一个 url 使用 POST METHOD 执行它时,它工作正常。

$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);

【问题讨论】:

  • 你能提供一些代码吗?需要查看通过的选项。

标签: php curl libcurl


【解决方案1】:

如果您收到错误消息 Unable to retrieve feed: cURL error 56: Recv failure: Connection reset by peer while processing feeds,这是由于当您的脚本尝试从远程检索响应时网络连接被关闭服务器。

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

【讨论】:

    【解决方案2】:

    您是总是向特定服务器发送请求,还是总是针对不同的服务器发送请求?

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-09
      • 2017-04-11
      • 1970-01-01
      • 2011-11-04
      • 2023-03-03
      • 2021-01-31
      相关资源
      最近更新 更多