getBody() hurudisha kiolesura cha mtiririko hata Guzzle ikiwa imeshapakua jibu. Ili kuomba uwasilishaji wa mtandao wa hatua kwa hatua kupitia proksi ya mbele, weka stream kwenye ombi:

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

Hii hutumia mteja aliye tayari; kwa kituo cha HTTP cha umma, chagua anwani kutoka orodha ya proksi za HTTP na ubadilishe URL ya proksi ya mfano. Usaidizi wa utiririshaji hutegemea kishikiliaji chake; kiolesura cha mtiririko peke yake hakiwezi kukuambia kama kishikiliaji kiliwasilisha mwili hatua kwa hatua.

Jibu linapofika, endelea kusoma sehemu zenye mipaka. Kubadilisha $body kuwa mfuatano wa herufi hukusanya mwili wote tena. Kichanganuzi cha mistari kinaweza pia kuonekana kimekwama kikisubiri mstari mpya, ingawa baiti za mtandao zimefika. Hizi ni ucheleweshaji wa matumizi, kwa hivyo kubadilisha proksi hakutaziondoa.

read_timeout hupunguza kingo za kusoma za mtu binafsi chini ya utekelezaji wa mtiririko unaotumika. Haipi mlisho usio na mwisho maisha ya jumla ya sekunde kumi. Shughulikia muda wa mwisho, EOF na hitilafu kwa tofauti, na funga mwili usindikaji unapokamilika au kughairiwa.

Makala zinazohusiana