ایک ویب سائٹ کو آپ کی باقی HTTPS درخواستوں سے مختلف پراکسی درکار ہوتی ہے۔ Requests یہ انتخاب پراکسی ڈکشنری میں ہی ظاہر کر سکتا ہے:

routes = {
    "https://reports.example": "http://reports-proxy.example:8080",
    "https": "http://default-proxy.example:8080",
}
response = requests.get(
    "https://reports.example/monthly",
    proxies=routes,
    timeout=(5, 20),
)
response.raise_for_status()

اُس منزل کے لیے ہوسٹ نیم کے مخصوص کلید ہی جیتتی ہے۔ کوئی دوسرا HTTPS ہوسٹ نیم پوری اسکیم کی اندراج استعمال کرتا ہے۔ اقدار پراکسی کنکشن بیان کرتی ہیں، اس لیے HTTPS منزل درست طور پر HTTP پراکسی URL پر نقش ہو سکتی ہے۔ جب یہ پراکسی اکاؤنٹس کے بغیر اجازت یافتہ عوامی سائٹ راستے ہوں تو HTTP پراکسی فہرست اُن اقدار کے لیے امیدوار مہیا کر سکتی ہے؛ ہر منزل قاعدہ واضح رکھیں۔

ہوسٹ نیم مماثل کریں، وسیلہ URL نہیں

Requests 2.32.5 میں مخصوص کلید منزل کی اسکیم اور تجزیہ شدہ ہوسٹ نیم سے بنتی ہے۔ اِس میں راستہ، استفسار یا پورٹ شامل نہیں ہوتا۔

ڈکشنری کلید میں /monthly شامل کرنے سے قاعدہ اُس راستے تک محدود نہیں ہوگا۔ اسی طرح https://reports.example:8443 ایسی پورٹ مخصوص کلید نہیں جسے یہ منتخب کنندہ پہچانتا ہو۔ ہوسٹ نیم قاعدہ اُس وقت بھی لاگو ہوتا ہے جب منزل URL کوئی دوسری پورٹ استعمال کرے۔

اِس تلاش میں کوئی وائلڈ کارڈ توسیع نہیں ہے۔ reports.example کے لیے قاعدہ ذیلی ڈومین کو خود بخود نہیں ڈھکتا۔ جب پالیسی کو راستہ، پورٹ یا لاحقہ مماثلت درکار ہو تو اِس سادہ ڈکشنری سے باہر واضح روٹنگ فیصلہ استعمال کریں۔

جانیں کہ اگلا متبادل کون سا ہے

عمل درآمد کلیدوں کو اِس ترتیب سے جانچتا ہے: scheme://hostname, scheme, all://hostname, پھر all۔ لہٰذا پوری اسکیم کی HTTPS اندراج ہر اسکیم کی ہوسٹ نیم اندراج پر فوقیت رکھتی ہے۔ جب یہی مطلوبہ استثنا ہو تو اپنے ڈیزائن میں اسکیم مخصوص ہوسٹ نیم قاعدہ پہلے رکھیں۔

یہ بھی مدنظر رکھیں کہ آپ کا Session طے شدہ اور ماحول سے ماخوذ ترتیبات کو کیسے یکجا کرتا ہے۔ اِن دو واضح اندراجات کو درخواست کے ساتھ بھیجنے سے اُن کے مطلوبہ راستے واضح ہوتے ہیں، مگر کسی دوسری منزل اسکیم کے لیے پالیسی متعین نہیں ہوتی۔

ایک ری ڈائریکٹ کوئی دوسرا ہوسٹ نیم لا سکتا ہے، اور اُس نئی منزل کے لیے بھی پراکسی انتخاب متعلقہ ہے۔ قاعدہ پہلے صفحے سے منسلک مستقل راستے کے طور پر نہیں، بلکہ ہر درخواست شدہ URL کے بارے میں فیصلے کے طور پر پڑھیں۔

متعلقہ مضامین