Vergelijk de laptop en het gehoste proces op twee verschillende lagen:

LaagVraag
Content-EncodingKan de client de geretourneerde gzip/deflate/Brotli-bytes decomprimeren?
CharsetHoe worden gedecomprimeerde bytes tekst?

Requests verwerkt normaal gzip/deflate; Brotli vereist een ondersteunde ge installeerde bibliotheek. Een handmatig gekopieerde Accept-Encoding kan br adverteren terwijl deze omgeving het niet kan decoderen. De keuze van UTF-8-tekst decomprimeert Brotli niet.

Wanneer de onderhandeling bewust wordt beperkt:

response = session.get(
    url,
    proxies={"https": "http://proxy.example:8080"},
    headers={"Accept-Encoding": "gzip, deflate"},
    timeout=30,
)
response.raise_for_status()

Gebruik de bestaande Session, de HTTPS-URL en de vereiste headers/authenticatie. Vergelijk uitgaande Accept-Encoding, inkomende Content-Encoding en pakketondersteuning op beide machines; een transformerende tussenpartij kan ook verouderde metadata leveren. Een aparte vergelijking van een openbare pagina kan Lijst met HTTP-proxy s gebruiken voor zijn proxy-URL waar openbare tussenpartijen zijn toegestaan, zonder overge erving van proxyreferenties, gekopieerde accountheaders of prive-bodygegevens.

Geef anders de voorkeur aan normale clientonderhandeling. De handige content/text-interfaces van Requests decoderen ondersteunde codering, dus decomprimeer hun uitvoer niet opnieuw alleen omdat de header die noemt.

Gerelateerde artikelen