getBody() Guzzle жоопту мурун эле жүктөп алса да, агым интерфейсин кайтарат. Алдыңкы прокси аркылуу акырындык менен тармактык жеткирүүнү суроо үчүн, сурамда stream коюңуз:

$response = $client->request('GET', 'https://example.com/stream', [
    'proxy' => 'http://proxy.example:8080',
    'stream' => true,
    'read_timeout' => 10,
]);
$body = $response->getBody();

Бул бар болгон кардарды колдонот; коомдук HTTP акыркы чекити үчүн HTTP прокси тизмесинен даректи тандап, мисалдагы прокси URL дарегин алмаштырыңыз. Агымды колдоо анын иштетүүчүсүнө байланыштуу; агым интерфейсинин өзү иштетүүчү денени акырындык менен жеткиргенин айта албайт.

Жооп келгенден кийин чектелген бөлүктөрдү окууну улантыңыз. $body тибин сапка айландыруу бүт денени кайра чогултат. Сап парсеру тармактык байттар келгенине карабастан, жаңы сапты күтүп тургандай илинип калгандай көрүнүшү мүмкүн. Булар керектөө кечигүүлөрү, андыктан проксини алмаштыруу аларды жок кылбайт.

read_timeout колдоого алынган агым ишке ашыруусунда жеке окуу күтүүлөрүн чектейт. Ал чексиз агымга он секунддук жалпы өмүр бербейт. Тайм-аут, EOF жана каталарды өз-өзүнчө иштетип, иштетүү бүткөндө же жокко чыгарылганда денени жабыңыз.

Тектеш макалалар