Porovnajte notebook a hostovaný proces v dvoch rôznych vrstvách:

VrstvaOtázka
Content-EncodingDokáže klient dekomprimovať vrátené bajty gzip/deflate/Brotli?
CharsetAko sa dekomprimované bajty stanú textom?

Requests zvyčajne zvláda gzip/deflate; Brotli vyžaduje nainštalovanú podporovanú knižnicu. Ručne skopírovaný Accept-Encoding môže inzerovať br, hoci toto prostredie ho nevie dekódovať. Voľba textu UTF-8 Brotli nedekomprimuje.

Keď sa vyjednávanie zámerne obmedzuje:

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

Použite existujúci Session, HTTPS URL a požadované hlavičky/autentifikáciu. Porovnajte odchádzajúci Accept-Encoding, prichádzajúci Content-Encoding a podporu balíkov na oboch strojoch; transformujúci prostredník môže tiež dodávať zastarané metadáta. Samostatné porovnanie verejnej stránky môže použiť Zoznam HTTP proxy pre svoju URL proxy tam, kde sú verejní prostredníci povolení, bez zdedených prihlasovacích údajov proxy, skopírovaných hlavičiek účtu alebo súkromných údajov tela.

Inak uprednostnite bežné vyjednávanie klienta. Pohodlné rozhrania content/text v Requests dekódujú podporované kódovanie, takže ich výstup znova nedekomprimujte len preto, že ho hlavička pomenúva.

Súvisiace články