我正在尝试连接到一个API,使连接保持活动状态并发送分块数据.
我有一个使用fsockopen的解决方案,它写入和读取流并使用while(!$stream-> eof()).
我想知道我是否可以使用Guzzle来获得相同的结果?
我看到了Async方法,但有些人可以告诉我如何等待流吗?
解决方法:
Guzzle 6支持PRS-7,它将响应主体定义为流.您可以同步或异步请求数据,这无关紧要.
为您的请求设置stream
option也很重要:
$client = new Client(/* ... */);
$response = $client->get('http://some.url/', ['stream' => true]);
$bodyStream = $response->getBody();
while (!$bodyStream->eof()) {
echo $bodyStream->read(1024);
}