Requests javobi proksi ortida buzilgan ko rinadi? Brotli qo llab-quvvatlashini tekshiring
Ko chirilgan Accept-Encoding:br xostingdagi Requests muhitining dekoder qo llab-quvvatlashidan o zib ketishi mumkin.
Noutbuk va xostingdagi jarayonni ikki xil qatlamda solishtiring:
| Qatlam | Savol |
|---|---|
| Content-Encoding | Mijoz qaytarilgan gzip/deflate/Brotli baytlarini ocha oladimi? |
| Charset | Ochilgan baytlar qanday qilib matnga aylanadi? |
Requests odatda gzip/deflate bilan ishlaydi; Brotli uchun o rnatilgan qo llab-quvvatlanadigan kutubxona kerak. Qo lda ko chirilgan Accept-Encoding bu muhit uni dekodlay olmasa ham br ni e lon qilishi mumkin. UTF-8 matn tanlash Brotli ni ochmaydi.
Muzokara ataylab cheklanganda:
response = session.get(
url,
proxies={"https": "http://proxy.example:8080"},
headers={"Accept-Encoding": "gzip, deflate"},
timeout=30,
)
response.raise_for_status()Mavjud Session, HTTPS URL va kerakli sarlavhalar/autentifikatsiyadan foydalaning. Ikkala mashinada chiquvchi Accept-Encoding, kiruvchi Content-Encoding va paket qo llab-quvvatlashini solishtiring; o zgartiruvchi vositachi eskirgan metama lumotlarni ham berishi mumkin. Alohida ommaviy sahifa solishtiruvi ommaviy vositachilarga ruxsat berilgan joyda proksi URL uchun HTTP proksilar ro yxati dan foydalanishi mumkin, ammo meros qolgan proksi hisob ma lumotlari, ko chirilgan akkaunt sarlavhalari yoki shaxsiy tana ma lumotlarisiz.
Aks holda mijozning odatiy muzokarasini afzal ko ring. Requests ning qulay content/text interfeyslari qo llab-quvvatlanadigan kodlashni dekodlaydi, shuning uchun sarlavha uning nomini aytgani uchungina ularning chiqishini qayta ochmang.