11

基本上,这个错误只发生在 CURL

curl: (56) Recv failure: Connection reset by peer

但是当我直接在浏览器上直接访问它时,它可以工作!

您对修复此问题或此错误的原因有何建议?

注意:服务器是用 ASP 编码的,它只发生在一次 API 调用上

4

3 回答 3

5

我通过从 URL 中删除空格字符解决了这个问题。在我的情况下,出错的是代理服务器,而不是 Web 服务器。

在 PHP 中:

     curl_setopt($ch, CURLOPT_URL, trim($url));
于 2014-02-05T05:16:45.200 回答
4

我记得很久以前也遇到过同样的问题。虽然我不记得究竟是什么解决了这个问题,但我记得尝试过以下操作:

  1. 我试图直接在 URL 中传递查询参数,我尝试通过 POST 方法

  2. 我尝试使用带有 curl 的代理来查看我是否可能被另一台服务器阻止

  3. 我相信我还要求我的主人调查一下,他们做了一些 Apache 设置更改

于 2012-07-19T07:50:02.603 回答
0

我对这段代码有类似的问题:

        $url = "http://xxx.xxx.xxx.xxx";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_PORT, 44455); //Set the port to connect to
        //curl_setopt($ch, CURLOPT_RETURNTRANSFER, 44455); 
        curl_setopt($ch, CURLOPT_URL, $url);
        echo $xml = curl_exec($ch);
        if(curl_errno($ch))
        {
            echo 'error:' . curl_error($ch);
        }
        curl_close($ch);

通过禁用它解决了这个问题:

        //curl_setopt($ch, CURLOPT_RETURNTRANSFER, 44455);
于 2015-06-17T13:26:43.900 回答