我刚开始试验guzzle,但我在响应主体上得到一个空字符串
$client = new Client([
'base_uri' => 'http://httpbin.org',
'timeout' => 2.0,
]);
$response = $client->request('GET', '', ['debug' => true]);
var_dump($response->getBody()->getContents());
我得到的回应是:
* About to connect() to httpbin.org port 80 (#0)
* Trying 23.22.14.18...
* Connected to httpbin.org (23.22.14.18) port 80 (#0)
> GET / HTTP/1.1
User-Agent: GuzzleHttp/6.2.0 curl/7.29.0 PHP/5.5.34
Host: httpbin.org
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 06 Jun 2016 06:48:13 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 12150
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
* Connection #0 to host httpbin.org left intact
string(0) ""
你可以看到身体是""但Content-Length是正确的。
答案 0 :(得分:7)
guzzlehttp/psr7
的主分支上有一个错误的提交。如果您锁定composer.json
文件中的版本,则所有内容都应按预期工作。
"guzzlehttp/guzzle": "6.2",
"guzzlehttp/psr7": "1.3"