Víðarisend gzip-být við teimum høvdunum, ið lýsa tey
Vel kodað ella avkodað payload í einum Requests-bygdum proxy, og gev síðan tí niðara svarið samsvarandi content-høvd og sína egna rammu.
Um Requests longu hevur avkomprimerað ein kropp, biður víðarisending við Content-Encoding: gzip tann næsta klientin um at avkomprimera hann aftur. Avgreið, hvørja payload-framseting proxyið sendir, áðrenn høvdini verða kopierað.
| Sent payload | Content-høvd |
|---|---|
| Uppruna kodað být | Varðveit ta viðkomandi kodingina og nágreiniliga payload-longdina |
| Avkodað být | Tak burtur ta avkodaðu kodingina; tak burtur ella rokna um ta samsvarandi longdina |
Fyri kodað payload-být lesur hesin parturin rástreymin frá urllib3 uttan content-avkoding:
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 er tíðindini úr svarinum, ið longu eru til. Støða tess og høvd mugu longu fylgja teirri valdu stevnuni; hesin parturin ger ikki eina fullfíggjaða proxy-tænastu.
Flutningsramma er aðskild frá gzip content-koding. HTTP-bókasavnið omanfyri hevur longu viðgjørt rammuna, eisini burturtøku av bitum, so kopiera ikki Transfer-Encoding blindandi. Niðara tænastan rammar sítt egna svar, sjálvt tá payloadið verður verandi gzip-kodað.
response.text fylgt av UTF-8-koding broytir eisini framsetingina og kann ikki varðveita vilkórliga binera dato. Lat upp ella brúka svarinum omanfyri á hvørjum leið, og viðger HTTP-villur sambært proxy-sáttmálanum: hetta dømið kastar tær í staðin fyri at víðarisenda tær.