Как обработать ответ 401 от клиента Guzzle

Я делаю запрос Guzzle 6, и этот запрос отвечает 401.

$client = new Client();
$response = $client->request('GET', .... 
....

Мой сценарий остановится и вернет сообщение об ошибке.

GuzzleHttp \ Exception \ ClientException (401) Ошибка клиента: GET https://.....?lang=de привела к 401 Unauthorized ответу: Неавторизовано

Попробовать поймать не получается.

Как я могу перехватить сообщение об ошибке?

Спасибо за помощь!


person Mondy    schedule 16.06.2020    source источник
comment
Отвечает ли это на ваш вопрос? Перехват исключений из Guzzle   -  person Arif    schedule 16.06.2020


Ответы (2)


Нам нужно больше кода, чтобы помочь вам, какие параметры вы используете, каков ваш запрос и т. Д.

Вы можете попробовать отправить свой запрос с помощью Postman, чтобы проверить, правильно ли отправлен ваш параметр

person Jonathan Delean    schedule 16.06.2020
comment
Статус почтальона получает 401 Unauthorized, а RAW Body: Unauthorized Моя проблема в том, что сценарий прерывается с сообщением об ошибке после отправки запроса. Но я не хочу, чтобы сценарий прерывался. Так что должна быть возможность поймать этот ответ 401. - person Mondy; 16.06.2020

Я нашел ошибку. Я добавил параметр

'http_errors' => false

http://docs.guzzlephp.org/en/stable/request-options.html#http-errors

Теперь я могу проверить статус ответа:

if ($response->getStatusCode() != 200) {
    echo "error";
}
person Mondy    schedule 16.06.2020