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 او تېروتنې په جلا توګه اداره کړئ، او بدن وتړئ کله چې پروسس پای ومومي یا لغوه شي.

اړوندې مقالې