设置Guzzle要检索的最大内容量

时间:2016-11-12 07:29:15

标签: php guzzle

我想下载给定网址的前16 KB,并且我正在使用GuzzleHTTP库。检查$result = $query->toArray(); // or $query->all(); // now you can set result for view 标头或发送Content-Length标头不适用于我的目的,因为服务器可能不会发送/接受任何这些标头。

有没有办法可以设置Guzzle应该检索的最大内容量?

1 个答案:

答案 0 :(得分:4)

是的,有办法。使用stream option按块下载内容,而不是一次下载。

$response = $client->request('GET', '/stream/20', ['stream' => true]);
// Read bytes off of the stream until the end of the stream is reached
$body = $response->getBody();
$buffer = '';
while (!$body->eof() && (strlen($buffer) < 16384)) {
    $buffer .= $body->read(1024);
}
$body->close();

使用此解决方案,您可以控制要下载的内容量。