getBody() seolann sé comhéadan srutha ar ais fiú nuair a bheidh an freagra íoslódáilte ag Guzzle cheana. Chun seachadadh líonra incriminteach a iarraidh trí sheachvótálaí tosaigh, socraigh stream ar an iarratas:

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

Úsáideann sé seo cliant atá ann cheana; le haghaidh críochphointe HTTP poiblí, roghnaigh seoladh ón liosta seachvótálaithe HTTP agus cuir URL an tseachvótálaí samplach ina ionad. Braitheann tacaíocht sruthaithe ar a láimhseálaí; ní féidir leis an gcomhéadan srutha amháin a rá leat ar sheachaid an láimhseálaí an corp go incriminteach.

Nuair a thagann an freagra, lean ort ag léamh codanna teoranta. Má thiontaítear $body go teaghrán bailítear an corp iomlán arís. Féadfaidh parsálaí líne breathnú ar crochadh freisin agus é ag fanacht le líne nua, fiú má tá beart líonra tagtha. Moilleanna tomhaltais iad seo, mar sin ní bhainfidh athrú an tseachvótálaí iad.

read_timeout teorannaíonn sé fanachtaí léitheoireachta aonair faoin gcur i bhfeidhm srutha a dtacaítear leis. Ní thugann sé saolré iomlán deich soicind do bheatha gan deireadh. Láimhseáil amamh, EOF agus earráidí ar leithligh, agus dún an corp nuair a chríochnaíonn nó a chealaítear an phróiseáil.

Ailt ghaolmhara