Tura baytai gzip tare da kanun da suke bayyana su
Zaɓi kaya mai ɓoyewa ko buɗaɓɓe a cikin wakili na tushen Requests, sannan ka ba amsar ƙasa kanun content masu dacewa da nata tsarin.
Idan Requests ya riga ya buɗe jiki, tura shi da Content-Encoding: gzip yana neman abokin ciniki na gaba ya sake buɗe shi. Yanke shawara wace siffar kaya wakilin zai aika kafin a kwafi kanunsa.
| Kayan da aka tura | Kanun content |
|---|---|
| Asalin baytai masu ɓoyewa | Riƙe ɓoyewar da ta dace da ainihin tsawon kayan |
| Baytai da aka buɗe | Cire ɓoyewar da aka buɗe; cire ko sake lissafin tsawon da ya dace |
Don baytai masu ɓoyewa, wannan sashe yana karanta ɗanyen rafi na urllib3 ba tare da buɗe content ba:
with requests.get(url, stream=True, timeout=(5, 30)) as upstream:
upstream.raise_for_status()
for block in upstream.raw.stream(65536, decode_content=False):
downstream.write(block)downstream shine fitarwar amsar da take akwai. Matsayinsa da kanunsa dole su riga sun bi manufar da aka zaɓa; wannan sashe baya aiwatar da cikakken uwar garken wakili.
Tsarin turawa ya bambanta da ɓoyewar content gzip. Laburaren HTTP na sama ya riga ya kula da tsarin, ciki har da cire guntu, don haka kada ka kwafi Transfer-Encoding a makance. Uwar garken ƙasa yana tsara nata amsa koda kayan ya kasance a ɓoye da gzip.
response.text tare da ɓoyewar UTF-8 shima yana canza siffa kuma ba zai iya adana bayanan binary na son rai ba. Rufe ko cinye amsar sama a kowace hanya, kuma kula da kurakuran HTTP bisa ga yarjejeniyar wakili: wannan misalin yana jefa su maimakon tura su.