د Requests ځواب د پروکسي شاته خراب ښکاري؟ د Brotli ملاتړ وګورئ
یو کاپي شوی Accept-Encoding:br کولای شي د hosted Requests چاپېریال د decoder ملاتړ څخه مخکې شي.
لپ ټاپ او hosted بهیر په دوو مختلفو طبقو کې پرتله کړئ:
| طبقه | پوښتنه |
|---|---|
| Content-Encoding | ایا کلاینټ کولای شي راستنېدل شوي gzip/deflate/Brotli بایټونه decomress کړي؟ |
| Charset | څنګه decomressed بایټونه متن کېږي؟ |
Requests عموما gzip/deflate اداره کوي؛ Brotli نصب شوې ملاتړ شوې کتابتون ته اړتیا لري. لاسي کاپي شوی Accept-Encoding کولای شي br اعلان کړي پداسې حال کې چې دا چاپېریال یې decode نشي کولای. د UTF-8 متن غوره کول Brotli decompress نه کوي.
کله چې خبرې اترې په قصد محدودېږي:
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 لپاره وکاروي چېرې چې عامه منځګړي اجازه لري، خو پرته له میراثي پروکسي اعتبارنامو، کاپي شوو حساب هډرونو یا شخصي body ډاټا.
بل ډول د کلاینټ نورمالو خبرو اترو ته لومړیتوب ورکړئ. د Requests اسانه content/text انٹرفیسونه ملاتړ شوی کوډنګ decode کوي، نو د هغوی output بیا decompress مه کوئ یوازې ځکه چې هډر یې نوم اخلي.