Symfony 2 - Guzzle 6.X HTTP |得到身体的反应

时间:2015-08-31 12:25:43

标签: php symfony http guzzle6

我正在使用Guzzle和Symfony 2.7.3,我不知道为什么我有响应的标题而不是正文。 (我在WAMP的localhost上)

$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);

所以我得到了:

enter image description here

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

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

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

2 个答案:

答案 0 :(得分:2)

因为它是json响应你应该解码它,添加:

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

true表示返回的对象将转换为关联数组。

答案 1 :(得分:0)

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

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