Cén fáth ar féidir sruth coirp Guzzle a mhaolú fós
Is féidir leis an gcomhéadan coirp, seachadadh an iompair agus do pharsálaí féin maolánú go neamhspleách. Úsáid stream go sainráite agus coinnigh an tomhaltas incriminteach.
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.