Я использую Guzzle с 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);
поэтому я получил:
Но поток пуст, тогда как я должен получить токен (вы можете увидеть длину контента: 69)
Можете ли вы мне помочь, я не знаю, что я пропустил...
(Сервер принимает только POST, чтобы получить токен)
Поскольку это ответ json, вы должны его расшифровать, добавьте:
$response_body = json_decode($response->getBody(), true);
true
означает, что возвращенные объекты будут преобразованы в ассоциативные массивы.
$response->getBody()
вы получаете объект GuzzleHttp\Psr7\Stream. Этот класс имеет полезный метод __toString(), поэтому следующая строка будет работать, как ожидалось:
$response_body = (string)$response->getBody();