በፕሮክሲ በኩል በRequests እና iter_content ማውረድ
የRequests ምላሽን በደረጃ በደረጃ ይጠቀሙ፣ የተለመዱ የሁኔታ ማረጋገጫዎችን፣ ጽዳትን እና ለከፊል ውጤት የታሰበ ፖሊሲን ሲጠብቁ።
with session.get(url, stream=True, proxies=routes,
timeout=(5, 30)) as response:
response.raise_for_status()
with open(part_path, 'wb') as output:
for chunk in response.iter_content(chunk_size=64 * 1024):
if chunk:
output.write(chunk)
ይህን ንድፍ ከመተግበሪያው ነባራዊ የRequests ክፍለ-ጊዜ፣ የፕሮክሲ መንገዶች፣ URL እና ጊዜያዊ የውጤት መንገድ ጋር ይጠቀሙ። ለአደባባይ HTTP መንገድ፣ የHTTP ፕሮክሲ ዝርዝሩ ለፕሮክሲ ማሰራጫዎ እጩ አድራሻዎችን ያቀርባል። የዥረት ንድፉ አካሉን በደረጃ ይጠቀማል፣ ከresponse.content ማግኘትና ከዚያ ሁለተኛ ሙሉ መጠን ያለውን ነገር ከመጻፍ ይልቅ።
ያንን ባህሪ በሙሉ ማውረዱ ውስጥ ያቆዩ፦ stream=True አካሉን ያራዝመዋል፣ ነገር ግን ከዚያ በኋላ response.content መድረስ አሁንም ሁሉንም በማህደረ ትውስታ ሊሰበስብ ይችላል። የiter_content ቁራጭ መጠን የንባብ ምርጫ ነው፣ በድረ-ገጹ ወይም በፕሮክሲው ላይ የHTTP ቁራጭ ማስተላለፍ ኮድ ጥያቄ አይደለም።
የምላሽ አውድ አስተዳዳሪው ምላሹን ይዘጋል፣ ጽሑፍ ቢወድቅ ወይም መተግበሪያው ቀድሞ ቢቆምም። በምሳሌ የቀረበው የጊዜ ጥንድ ለሙሉ ማስተላለፉ የግድግዳ ሰዓት ማብቂያ አይደለም፤ የማውረዱን የህይወት ጊዜ ፖሊሲ እንደአስፈላጊነቱ ለየብቻ ያዘጋጁ።
ከተሳካ አጠቃቀም በኋላ፣ የመጨረሻውን ስም ከማተምዎ በፊት መተግበሪያው የሚጠብቀውን አርቲፊክት ያረጋግጡ። በመቋረጥ ጊዜ፣ ከፊሉን ፋይል ይያዙት በታሰበ የመቀጠል ፖሊሲ ብቻ፣ ሩቅ ውክልናውን የሚለይ ሜታዳታ ጋር። ባዶ ያልሆነ ጊዜያዊ ፋይል ስኬታማ ማውረድ አይደለም።