11

基本的に、このエラーは CURL でのみ発生します

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

しかし、ブラウザで直接リンクに直接アクセスすると、機能します!

これを修正するための推奨事項、またはこのエラーの原因は何ですか?

注: サーバーは ASP でコーディングされており、1 回の 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 に答える