Php Symfony 2-Guzzle 6.X HTTP |获取身体响应

Php Symfony 2-Guzzle 6.X HTTP |获取身体响应,php,symfony,http,guzzle6,Php,Symfony,Http,Guzzle6,我正在使用Symfony 2.7.3,我不知道为什么我有响应的标题,但没有正文。(我使用WAMP在本地主机上) 所以我得到: 但流是空的,而我应该得到一个令牌(您可以看到内容长度:69) 你能帮我吗,我不知道我错过了 (服务器只接受POST来获取令牌)由于它是json响应,您应该对其进行解码,添加: $response_body = json_decode($response->getBody(), true); true意味着返回的对象将被转换为关联数组。通过调用$response-

我正在使用Symfony 2.7.3,我不知道为什么我有响应的标题,但没有正文。(我使用WAMP在本地主机上)

所以我得到:

但流是空的,而我应该得到一个令牌(您可以看到内容长度:69)

你能帮我吗,我不知道我错过了


(服务器只接受POST来获取令牌)

由于它是json响应,您应该对其进行解码,添加:

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

true
意味着返回的对象将被转换为关联数组。

通过调用
$response->getBody()
可以获得一个GuzzleHttp\Psr7\Stream对象。 该类有一个有用的_toString()方法,因此以下行将按预期工作:


$response\u body=(字符串)$response->getBody()

$body=$response->getBody();我知道,但它只是给出了对象流,它是空的(与屏幕相同),你确定吗?我现在测试过,当我转储$response时,我得到的正是你得到的,但是如果我转储
。->getBody()
,那么我就得到了主体。是的,你可以检查它是否与我的屏幕相同:/这非常奇怪!没什么奇怪的,试试
json\u decode($response->getBody(),true)
我不明白为什么流看起来是空的,但是使用decode我就有了内容。非常感谢你!因为guzzle响应体是一个PHP流,所以必须对其执行操作才能得到所需的内容(我不是PHP高手,所以可能我错了)。
$response_body = json_decode($response->getBody(), true);