ایک Python urllib اوپنر میں کوکیز اور پراکسی استعمال کریں
ایک ہی urllib اوپنر پر ProxyHandler اور HTTPCookieProcessor کو یکجا کریں تاکہ متعلقہ پراکسی درخواستیں مطلوبہ کوکی جار شیئر کریں۔
urllib اوپنر درخواستیں پراکسی کے ذریعے بھیج سکتا ہے اور ساتھ ہی ویب سائٹ کی کوکیز برقرار رکھ سکتا ہے۔ اسے دونوں ہینڈلر دیں:
from http.cookiejar import CookieJar
from urllib.request import (
HTTPCookieProcessor, ProxyHandler, build_opener,
)
cookies = CookieJar()
opener = build_opener(
ProxyHandler({"http": "http://proxy.example:8080"}),
HTTPCookieProcessor(cookies),
)
with opener.open("http://www.example.com/", timeout=10) as response:
body = response.read()مثال سادہ HTTP منزل اور اس کا واضح پراکسی راستہ استعمال کرتی ہے۔ پراکسی توثیق کے بغیر اجازت شدہ عوامی سائٹ کی جانچ کے لیے اس راستے کے لیے HTTP پراکسی فہرست سے امیدوار منتخب کریں اور مطلوبہ کوکی جار رکھیں۔ اسی ویب سائٹ سیشن کی بعد کی درخواستوں کے لیے opener دوبارہ استعمال کریں۔ کوکی پروسیسر قابل قبول جوابی کوکیز نکالتا ہے اور قابلِ اطلاق کوکیز اگلی درخواستوں میں شامل کرتا ہے۔
ہر کال سے پہلے نئی خالی CookieJar بنانا وہ تسلسل ختم کر دیتا ہے۔ جار کو اس سیشن کے ساتھ رکھیں جس کی وہ نمائندگی کرتی ہے؛ ایسے اکاؤنٹس یا ورک فلو کے لیے الگ جار استعمال کریں جن کی کوکیز الگ رہنی چاہئیں۔
بنیادی CookieJar حالت میموری میں رکھتا ہے۔ پروگرام رنز کے درمیان استحکام کے لیے موزوں FileCookieJar ذیلی طبقہ منتخب کریں اور اسے دانستہ محفوظ یا لوڈ کریں۔
اس ترتیب کے لیے عالمی opener نصب کرنے کی ضرورت نہیں۔ اس آبجیکٹ کا open طریقہ کال کرنے سے پراکسی اور کوکیز اسی عمل سے جڑے رہتے ہیں۔