Сбой Guzzle 6 при ошибке 56 cURL (Неверная или недостающая шестнадцатеричная последовательность) - PullRequest
0 голосов
/ 19 октября 2018

В настоящее время я использую Guzzle 6.3 с Syfmony 3.2 и PHP 7.1 для отправки 4 запросов другому API:

  1. аутентификация
  2. создание "папки"
  3. добавление файла в «папку»
  4. получение файла

Между setp 3 и 4 есть процесс OCR. И когда я отправляю 4-й запрос до завершения OCR,Я получаю эту ошибку от Guzzle:

cURL error

Итак, я проверил отладку Guzzle, и кажется, что она была вызвана ответом HTTP 102 сервера:

Result of Guzzle debug

Это нормально, что Guzzle буквально падает, когда появляется эта ошибка?Потому что моя проблема в том, что остальная часть функции не выполняется после того, как ошибка cURL показывает себя.

Когда я пытался воспроизвести эту ошибку в минимальном PHP-коде (с помощью простого запроса cURL), яв состоянии получить код состояния HTTP и выполнить цикл while, пока сервер не отправит HTTP 200:

<?php

$response3 = curl_exec($curl3);
$err3 = curl_error($curl3);
$errno3 = curl_errno($curl3);
$httpcode = curl_getinfo($curl3, CURLINFO_HTTP_CODE) ;
echo "Http code  : ".$httpcode."\r\n" ;
while ( $httpcode == "102" ) {
        sleep(5);
        $response3 = curl_exec($curl3);
        $err3 = curl_error($curl3);
        $errno3 = curl_errno($curl3);
        $httpcode = curl_getinfo($curl3, CURLINFO_HTTP_CODE) ;
        echo "Http code  : ".$httpcode."\r\n" ;
}

curl_close($curl3);

if ($err3) {
        echo "Resp : ".$response3."\r\n" ;
  echo " 3 cURL Error #:" . $err3."\r\n";
  echo " 3 cURL Error #:" . $errno3."\r\n";
} else {
  echo $response3."\r\n";
}
?>

У вас есть какое-либо объяснение?Эта проблема исходит от Guzzle или другого API?

...