我想下载给定网址的前16 KB,并且我正在使用GuzzleHTTP库。检查$result = $query->toArray();
// or $query->all();
// now you can set result for view
标头或发送Content-Length
标头不适用于我的目的,因为服务器可能不会发送/接受任何这些标头。
有没有办法可以设置Guzzle应该检索的最大内容量?
答案 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();
使用此解决方案,您可以控制要下载的内容量。