getBody() returnerer eit stream-grensesnitt sjølv når Guzzle alt har lasta ned svaret. For å be om inkrementell nettverkslevering gjennom ein forward-proxy, set stream på førespurnaden:

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

Dette brukar ein eksisterande klient; for eit offentleg HTTP-endepunkt, vel ei adresse frå HTTP-proxy-lista og byt ut døme-proxy-URL-en. Streamingstøtte avheng av handteraren; stream-grensesnittet åleine kan ikkje seia deg om handteraren leverte bodyen inkrementelt.

Når svaret kjem, hald fram med å lesa avgrensa delar. Konvertering av $body til ein streng samlar heile bodyen igjen. Ein linjeparser kan også sjå ut til å hanga medan han ventar på ei ny linje, sjølv om nettverksbytar har kome. Dette er forbruksforsinkjingar, så eit byte av proxy fjernar dei ikkje.

read_timeout avgrensar individuelle lesevekter under den støtta stream-implementasjonen. Det gir ikkje ein endelaus feed ei total levetid på ti sekund. Handsama timeout, EOF og feil separat, og lukk bodyen når handsaminga sluttar eller blir avbroten.

Relaterte artiklar