3
我正在嘗試連接到保持連接處於活動狀態併發送分塊數據的API。用於HTTP保持活動的PHP Guzzle客戶端
我有一個解決方案,使用fsockopen寫入和讀取流,並使用while(!$stream->eof())
。
我想知道我是否可以使用Guzzle來獲得相同的結果嗎?
我看到了異步方法,但可以告訴我如何等待流?
我正在嘗試連接到保持連接處於活動狀態併發送分塊數據的API。用於HTTP保持活動的PHP Guzzle客戶端
我有一個解決方案,使用fsockopen寫入和讀取流,並使用while(!$stream->eof())
。
我想知道我是否可以使用Guzzle來獲得相同的結果嗎?
我看到了異步方法,但可以告訴我如何等待流?
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);
}