የ Guzzle የሰውነት ዥረት አሁንም ለምን ሊቀመጥ ይችላል
የሰውነት በይነገጽ፣ የትራንስፖርት አቅርቦት እና የራስዎ ተንታኝ ለብቻቸው ማቆየት ይችላሉ። streamን በግልጽ ይጠቀሙ እና ፍጆታውን ተከታታይ ያድርጉ።
getBody() የዥረት በይነገጽ ይመልሳል Guzzle ምላሹን አስቀድሞ ቢያወርድም። በፊት በኩል proxy በኩል ተከታታይ የኔትወርክ አቅርቦትን ለመጠየቅ stream በጥያቄው ላይ ያዘጋጁ።
$response = $client->request('GET', 'https://example.com/stream', [
'proxy' => 'http://proxy.example:8080',
'stream' => true,
'read_timeout' => 10,
]);
$body = $response->getBody();
ይህ አሁን ያለውን ደንበኛ ይጠቀማል፤ ለአደባባይ HTTP የመጨረሻ ነጥብ ከ የHTTP proxy ዝርዝር አድራሻ ይምረጡ እና የምሳሌውን proxy URL ይተኩ። የዥረት ድጋፍ በያዘው አስተናጋጅ ላይ ይመሰረታል፤ የዥረት በይነገጽ ብቻውን አስተናጋጁ ሰውነቱን ተከታታይ አድርጎ አስተላልፏል አልፈለገም ሊነግርዎ አይችልም።
ምላሹ ከደረሰ በኋላ የተወሰኑ ክፍሎችን ማንበብዎን ይቀጥሉ። $body ወደ ሕብረቁምፊ መቀየር መላውን ሰውነት እንደገና ይሰበስባል። የመስመር ተንታኝ የኔትወርክ ባይቶች ቢደርሱም አዲስ መስመር እየጠበቀ የተንጠለጠለ ሊመስል ይችላል። እነዚህ የፍጆታ መዘግየቶች ናቸው፣ ስለዚህ proxyን መቀየር አያስወግዳቸውም።
read_timeout በሚደገፈው የዥረት አተገባበር ስር የግለሰብ የንባብ ጊዜዎችን ይገድባል። ላልተጨረሰ ዥረት አስር ሰከንድ አጠቃላይ ዕድሜ አይሰጥም። ጊዜ ማለፍ፣ EOF እና ስህተቶችን ለየብቻ ያስተናግዱ፣ እና ሂደቱ ሲጠናቀቅ ወይም ሲሰረዝ ሰውነቱን ይዝጉ።