При отладке приложений с использованием http-клиента Guzzle возникает одно неудобство — отладчик не перехватывает сам запрос, а проходит мимо. Понять, что происходит в ходе запроса, порой проблематично.
Дело осложняется ещё и тем, что данные, которые можно вытащить из response, либо скудны, либо обрезаны (truncated…). Чтобы получить весь объём отладочной информации необходимо заключить код отправки запроса в try-catch, а $exception в блоке catch вывести как
(string)$exception->getResponse()->getBody()
Вот, например, как это можно сделать в yii2:
try { $response = (new Client())->post(Url::to('/transaction/note', true), [ RequestOptions::COOKIES => CookieJar::fromArray($cookiesEncoded, \Yii::$app->request->hostName), RequestOptions::FORM_PARAMS => $postData, ]); } catch (BadRequestHttpException $exception) { // Полный листинг проблемы $result = (string)$exception->getResponse()->getBody(); }