Ошибка PHP CURL - curl: (56) Ошибка при получении: сброс соединения по пиру

В основном эта ошибка возникает только в CURL

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

Но когда я захожу по прямой ссылке прямо в моем браузере, это работает!

Каковы ваши рекомендации по устранению этого или причины этой ошибки?

Примечание: сервер закодирован в ASP и происходит только при одном вызове API

3 ответа

Решение

Я помню, как столкнулся с этой проблемой давным-давно. Пока я не помню, что именно решило проблему, но я помню, как попробовал следующее:

1) Я пытался передать параметры запроса в URL напрямую, и я пытался пройти через метод POST

2) Я попытался использовать прокси с curl, чтобы проверить, не заблокирован ли я другим сервером.

3) Полагаю, я также попросил моего хоста разобраться в этом, и они внесли некоторые изменения в настройки Apache.

Я решил эту проблему, удалив пробельные символы из URL. В моей ситуации произошел сбой прокси-сервера, а не веб-сервера.

В PHP:

     curl_setopt($ch, CURLOPT_URL, trim($url));

У меня была похожая проблема с этим кодом:

        $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);
Другие вопросы по тегам