2015-09-13 2 views
9

Есть ли способ распечатать полный запрос в виде строки до или после ее отправки?Guzzle 6, получить строку запроса

$res = (new GuzzleHttp\Client())->request('POST', 'https://endpoint.nz/test', [ 'form_params' => [ 'param1'=>1,'param2'=>2,'param3'=3 ] ]); 

Как я могу просмотреть этот запрос в виде строки? (не ответ)

Причина в том, что мой запрос не работает и возвращает 403, и я хочу знать, что именно отправляется; поскольку тот же запрос работает при использовании PostMan.

+0

https://github.com/guzzle/guzzle/blob/master/src%2FMessageFormatter.php – zerkms

ответ

12

Согласно жрать документации есть опция отладки, вот ссылка из жрать документации http://guzzle.readthedocs.org/en/latest/request-options.html#debug

$client->request('GET', '/get', ['debug' => true]); 
+0

Проблема в том, что вы застреваете, если ваше приложение ничего не делает для вывода вывода, поскольку вы ничего не увидите. И вы не можете захватить его без какого-либо излишне запутанного перенаправления stdout. Ох и предоставление файла phpstream в файл журнала дает ошибку запроса завитка. Является ли жужжание максимально непрозрачным? –

+0

Ввод [ob_start] (http://php.net/manual/en/function.ob-start.php) и [ob_get_clean] (http://php.net/manual/en/function.ob-start.php) вокруг 'request' может получить вам результаты отладки в переменную вместо стандартного. –

+0

Опять же, бесполезно запутано и сложно использовать, не тратя еще несколько часов на поиск ответа. Это не должно быть сложно отладить. Я бы подумал, что вы можете получить эту информацию, используя xdebug, но это кажется невозможным. –