Requests-respons lyk korrup agter n proxy? Kontroleer Brotli-ondersteuning
n Gekopieerde Accept-Encoding:br kan die hosted Requests-omgewing se dekodeerder-ondersteuning verbysteek.
Vergelyk die skootrekenaar en die hosted proses op twee verskillende vlakke:
| Vlak | Vraag |
|---|---|
| Content-Encoding | Kan die kliënt die teruggekeerde gzip/deflate/Brotli-grepe dekomprimeer? |
| Charset | Hoe word gedecomprimeerde grepe teks? |
Requests hanteer gewoonlik gzip/deflate; Brotli vereis n ondersteunde geinstalleerde biblioteek. n Handmatig gekopieerde Accept-Encoding kan br adverteer terwyl hierdie omgewing dit nie kan dekodeer nie. UTF-8-tekskeuse dekomprimeer nie Brotli nie.
Wanneer onderhandeling doelbewus beperk word:
response = session.get(
url,
proxies={"https": "http://proxy.example:8080"},
headers={"Accept-Encoding": "gzip, deflate"},
timeout=30,
)
response.raise_for_status()Gebruik die bestaande Session, HTTPS-URL en vereiste kopstukke/verifikasie. Vergelyk uitgaande Accept-Encoding, inkomende Content-Encoding en pakketondersteuning op albei masjiene; n transformerende tussenparty kan ook verouderde metadata lewer. n Aparte vergelyking van openbare bladsye kan HTTP-proxylys vir sy proxy-URL gebruik waar openbare tussenpartye toegelaat word, sonder geerfde proxy-credentials, gekopieerde rekeningkopstukke of private liggaamsdata.
Verkies andersins normale kliënt-onderhandeling. Requests se gerieflike content/text-koppelvlakke dekodeer ondersteunde kodering, so moenie hul uitset weer dekomprimeer net omdat die kopstuk dit noem nie.