httpclient — клиент PHP Guzzle для поддержки HTTP

Я пытаюсь подключиться к API, который поддерживает соединение и отправляет фрагментированные данные.

У меня есть решение, которое использует fsockopen, который пишет и читает поток и использует while(!$stream->eof()),

Мне интересно, могу ли я использовать Guzzle для достижения того же результата?

Я видел метод Async, но некоторые могут показать мне, как ждать потока?

4

Решение

Поддержка Guzzle 6+ ПРС-7, который определяет тело ответа как поток. Вы можете запрашивать данные синхронно или асинхронно, это не имеет значения.

Также важно установить stream вариант По вашему запросу:

$client = new Client(/* ... */);

$response = $client->get('http://some.url/', ['stream' => true]);
$bodyStream = $response->getBody();

while (!$bodyStream->eof()) {
echo $bodyStream->read(1024);
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]