在使用get params提交此网址后,我能够使用POSTMAN
获取我想要的一些数据:
http://10.0.0.0/adserver/src/public?url=http://dummy.com
但当我尝试向guzzle发送相同的请求时:
public function testGetAds_test()
{
$client = new Client(['base_uri' => $this->config['base_url']]);
$response = $client->get('getAds', ['query' => ['url' => 'http://dummy.com']]);
$data = json_decode($response->getBody());
var_dump($response->getBody());
}
我得到200但是转储打印了我使用POSTMAN
得到的数据:
.object(GuzzleHttp\Psr7\Stream)#41 (7) {
["stream":"GuzzleHttp\Psr7\Stream":private]=>
resource(226) of type (stream)
["size":"GuzzleHttp\Psr7\Stream":private]=>
NULL
["seekable":"GuzzleHttp\Psr7\Stream":private]=>
bool(true)
["readable":"GuzzleHttp\Psr7\Stream":private]=>
bool(true)
["writable":"GuzzleHttp\Psr7\Stream":private]=>
bool(true)
["uri":"GuzzleHttp\Psr7\Stream":private]=>
string(10) "php://temp"
["customMetadata":"GuzzleHttp\Psr7\Stream":private]=>
array(0) {
}
}
任何想法我在这里失踪了什么? THX
答案 0 :(得分:1)
如果您处理Json响应,您可以按照here in the doc描述直接调用响应对象上的json()
方法:
所以你可以使用:
$data = $response->json();
Guzzle内部使用PHP的
json_decode()
函数进行解析 响应。如果Guzzle无法解析JSON响应主体,那么a 抛出GuzzleHttp \ Exception \ ParseException。
希望这个帮助
答案 1 :(得分:0)
var_dump()您需要使用
$response->getBody()->getContents()