Fi àwọn báìtì gzip ránṣẹ́ pẹ̀lú àwọn àkọlé tí ń ṣàpèjú wọn
Yan payload tí a kó sínú kóòdù tàbí tí a tú kóòdù rẹ̀ nínú proxy tí ó dá lórí Requests, lẹ́yìn náà fún ìdáhùn ìsàlẹ̀ ní àwọn àkọlé content tí ó bá a mu àti ìkọ̀wé tirẹ̀.
Bí Requests bá ti tú kóòdù ara kan tẹ́lẹ̀, fífi Content-Encoding: gzip ránṣẹ́ ń béèrè lọ́wọ́ ẹlẹ́rìí tó kàn pé kí ó tún un tú. Pinnu irú àfihàn payload wo ni proxy ń fi ránṣẹ́ kí o tó dà àwọn àkọlé rẹ̀.
| Payload tí a rán | Àwọn àkọlé content |
|---|---|
| Àwọn báìtì tí a kó sínú kóòdù ní ìpilẹ̀ṣẹ̀ | Pa kóòdù tí ó yẹ mọ́ àti gígùn payload gangan |
| Àwọn báìtì tí a tú kóòdù | Yọ kóòdù tí a ti tú kúrò; yọ tàbí tún gígùn tí ó bá a mu ṣe |
Fún àwọn báìtì payload tí a kó sínú kóòdù, ẹ̀ka yìí ń ka ṣíṣan àìdánilójú urllib3 láìsí ìtúkóòdù content:
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 ni èsì ìdáhùn tí ó wà tẹ́lẹ̀. Ipò rẹ̀ àti àwọn àkọlé rẹ̀ gbọ́dọ̀ ti tẹ̀lé ìlànà tí a yàn; ẹ̀ka yìí kò ṣe àkóso olupin proxy kíkún.
Ìkọ̀wé gbígbé lọ yàtọ̀ sí kóòdù content gzip. Ilé-ìkàwé HTTP ti òkè ti bójú tó ìkọ̀wé náà, pẹ̀lú yíyọ àwọn ege kúrò, nítorí náà má ṣe ṣàdàkọ Transfer-Encoding ní afọ́jú. Olupin ìsàlẹ̀ ń kọ̀wé ìdáhùn tirẹ̀ pàápàá bí payload bá wà ní kóòdù gzip.
response.text tí a tẹ̀lé pẹ̀lú kóòdù UTF-8 tún yí àfihàn padà, kò sì lè pa dátà bínárì àìdánilójú mọ́. Ti ìdáhùn òkè tàbí lò ó ní gbogbo ọ̀nà, kí o sì bójú tó àwọn àṣìṣe HTTP gẹ́gẹ́ bí àdéhùn proxy: àpẹẹrẹ yìí ń sọ wọ́n dà nínú fífi wọ́n ránṣẹ́.