Palyginkite nešiojamąjį kompiuterį ir prieglobos procesą dviem skirtingais sluoksniais:

SluoksnisKlausimas
Content-EncodingAr klientas gali išskleisti grąžintus gzip/deflate/Brotli baitus?
CharsetKaip išskleisti baitai tampa tekstu?

Requests paprastai apdoroja gzip/deflate; Brotli reikia įdiegtos palaikomos bibliotekos. Rankiniu būdu nukopijuotas Accept-Encoding gali skelbti br, nors ši aplinka jo negali iškoduoti. UTF-8 teksto pasirinkimas neišskleidžia Brotli.

Kai sąmoningai ribojamos derybos:

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

Naudokite esamą Session, HTTPS URL ir reikiamas antraštes/autentifikaciją. Palyginkite išeinantį Accept-Encoding, įeinantį Content-Encoding ir paketų palaikymą abiejose mašinose; transformuojantis tarpininkas taip pat gali pateikti pasenusius metaduomenis. Atskiras viešo puslapio palyginimas gali naudoti HTTP proxy sąrašas savo proxy URL ten, kur leidžiami vieši tarpininkai, be paveldėtų proxy kredencialų, nukopijuotų paskyros antraščių ar privačių turinio duomenų.

Kitu atveju pirmenybę teikite įprastoms kliento deryboms. Patogios Requests content/text sąsajos iškoduoja palaikomą kodavimą, todėl neišskleiskite jų išvesties dar kartą vien todėl, kad antraštė ją įvardija.

Susiję straipsniai