Cuir bytes gzip air adhart leis na bannan-cinn a tha gam mìneachadh
Tagh luchdan pàighidh air a chòdachadh no air a dhì-chòdachadh ann an progsaidh stèidhichte air Requests, is thoir dhan fhreagairt shìos na bannan-cinn content a tha a rèir agus a fhrèamadh fhèin.
Ma tha Requests air corp a dhì-dhùmhlachadh mar-thà, tha a chur air adhart le Content-Encoding: gzip ag iarraidh air an ath-chliant a dhì-dhùmhlachadh a-rithist. Co-dhùin dè an riochdachadh luchdan a chuireas am progsaidh mus tèid na bannan-cinn a chopaigeadh.
| Luchd air a chur | Bannan-cinn content |
|---|---|
| Bytes còdaichte tùsail | Cùm a chòdachadh iomchaidh agus fìor-fhad an luchd |
| Bytes dì-chòdaichte | Thoir air falbh a chòdachadh dì-chòdaichte; thoir air falbh no ath-obraich am fad co-fhreagarrach |
Airson bytes luchd còdaichte, tha am pìos seo a' leughadh sruth amh urllib3 gun dì-chòdachadh 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 an toradh freagairt a th' ann mar-thà. Feumaidh a staid agus a bhannan-cinn a bhith a' leantainn a' phoileasaidh a chaidh a thaghadh mar-thà; chan eil am pìos seo a' cur an gnìomh frithealaiche progsaidh iomlan.
Tha frèamadh gluasaid eadar-dhealaichte bho chòdachadh content gzip. Tha an leabharlann HTTP shuas air frèamadh a làimhseachadh mar-thà, a' gabhail a-steach toirt air falbh earrannan, mar sin na copaig Transfer-Encoding gu dall. Bidh am frithealaiche shìos a' frèamadh an fhreagairt aige fhèin eadhon nuair a dh'fhanas an luchd còdaichte le gzip.
Bidh response.text le còdachadh UTF-8 na dhèidh cuideachd ag atharrachadh an riochdachaidh agus chan urrainn dha dàta dà-chànanach dearbh-aithneachadh a ghlèidheadh. Dùin no caitheamh an fhreagairt shuas air gach slighe, agus làimhsich mearachdan HTTP a rèir cùmhnant a' phrogsaidh: tha an eisimpleir seo gan togail an àite an cur air adhart.