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 payloadContent-høvd
Uppruna kodað býtVarðveit ta viðkomandi kodingina og nágreiniliga payload-longdina
Avkodað býtTak 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.

Skyldar greinar