Symfony 2 — Guzzle 6.X HTTP | получить ответ тела

я использую пропивать с Symfony 2.7.3, и я не знаю, почему у меня есть заголовок ответа, но не тело. (Я на локальном хосте с WAMP)

$donnees = array(// Base URI is used with relative requests
'base_uri' => $urlAuth,
// You can set any number of default request options.
'timeout'  => 2.0,
'headers' => [
'User-Agent' => 'testing/1.0',
'Accept'     => 'application/json'
],
'verify' => false,
'json'      => ["Id" => $Id,
"Username" => $username,
"Password" => $password,
"SecretId" => $secretId]
);

$client = new Client($donnees);

$response = $client->post( '/auth/', $donnees );
dump($response);

Итак, я получил:

введите описание изображения здесь

Но поток пуст, тогда как я должен получить токен (вы можете увидеть content-length: 69)

Можете ли вы помочь мне, я не знаю, что я пропустил …

(Сервер принимает только POST для получения токена)

1

Решение

Поскольку это ответ json, вы должны декодировать его, добавив:

$response_body = json_decode($response->getBody(), true);

true означает, что возвращаемые объекты будут преобразованы в ассоциативные массивы.

2

Другие решения

По телефону $response->getBody() Вы получаете GuzzleHttp \ pSR7 \ Стрит объект.
Этот класс имеет полезную __нанизывать() метод, поэтому следующая строка будет работать как положено:

$response_body = (string)$response->getBody();

0

По вопросам рекламы [email protected]