Համեմատեք նոթբուքը և հոսթինգային գործընթացը երկու տարբեր շերտերում՝

ՇերտՀարց
Content-EncodingԿարո՞ղ է հաճախորդը ապասեղմել վերադարձված gzip/deflate/Brotli բայթերը։
CharsetԻնչպե՞ս են ապասեղմված բայթերը դառնում տեքստ։

Requests-ը սովորաբար զբաղվում է gzip/deflate-ով, իսկ Brotli-ն պահանջում է տեղադրված աջակցվող գրադարան։ Ձեռքով պատճենված Accept-Encoding-ը կարող է հայտարարել br, մինչ այս միջավայրը չի կարող վերծանել այն։ UTF-8 տեքստի ընտրությունը չի ապասեղմում Brotli-ն։

Երբ բանակցությունը միտումնավոր սահմանափակվում է՝

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

Օգտագործեք գոյություն ունեցող Session-ը, HTTPS URL-ը և պահանջվող վերնագրերը/նույնականացումը։ Համեմատեք ելքային Accept-Encoding-ը, մուտքային Content-Encoding-ը և փաթեթների աջակցությունը երկու մեքենաներում. փոխակերպող միջնորդը նույնպես կարող է հնացած մետատվյալներ տալ։ Առանձին հանրային էջի համեմատությունը կարող է օգտագործել HTTP պրոքսիների ցանկ-ը իր պրոքսի URL-ի համար, որտեղ հանրային միջնորդները թույլատրված են, առանց ժառանգված պրոքսի հավատարմագրերի, պատճենված հաշվի վերնագրերի կամ մասնավոր մարմնի տվյալների։

Հակառակ դեպքում նախընտրեք հաճախորդի սովորական բանակցությունը։ Requests-ի հարմար content/text ինտերֆեյսները վերծանում են աջակցվող կոդավորումը, այնպես որ մի ապասեղմեք դրանց ելքը նորից միայն այն պատճառով, որ վերնագիրը նշում է դրա անունը։

Առնչվող հոդվածներ