Python Requests मधील Session प्रॉक्सी आणि वातावरणाचे प्राधान्य
session.proxies, वातावरण चल, विनंतीनुसार पर्याय व trust_env एकत्र काम करताना Python Requests चे रूटिंग अंदाजयोग्य करा.
session.proxies एका एंडपॉइंटकडे निर्देश करत असूनही स्क्रिप्ट shell चा प्रॉक्सी वापरत असेल तर तोच डिक्शनरी पुन्हा नेमल्याने संघर्ष मिटणार नाही. Requests वातावरणातील प्रॉक्सी सेटिंगना Session च्या पूर्वनिर्धारितांपेक्षा प्राधान्य देऊन एकत्र करू शकते. Session ने वातावरणातून सेटिंग शोधत राहावे का ते ठरवा.
वातावरण शोध सुरू ठेवा, मार्ग विनंतीत द्या
हा Session/वातावरण संघर्ष टाळण्यासाठी Requests च्या शिफारशीनुसार प्रत्येक कॉलला स्पष्ट मूल्ये द्या:
proxies = {
"http": "http://127.0.0.1:8080",
"https": "http://127.0.0.1:8080",
}
with requests.Session() as session:
response = session.get(
"https://example.com/",
proxies=proxies,
timeout=(5, 15),
)
response.raise_for_status()
स्थानिक लिसनर तुमच्या स्वतःच्या लिसनरने बदला. सार्वजनिक HTTP एंडपॉइंट तुलना करताना Session धोरण स्थिर ठेवून HTTP प्रॉक्सी यादीतून उमेदवार घ्या. हे दिलेल्या मॅपिंगच्या नोंदी नियंत्रित करते; अनुप्रयोगाच्या इतर स्कीम किंवा होस्टसाठीही जाणीवपूर्वक निर्णय घ्या. सेवा, IDE, कंटेनर किंवा CI रनरला टर्मिनलपेक्षा वेगळे वातावरण मिळू शकते.
Session ला स्वतःच्या सेटिंग नियंत्रित करू द्या
अनुप्रयोगाने वातावरणातून प्रॉक्सी शोधू नये तर पहिल्या विनंतीपूर्वी धोरण ठरवा:
with requests.Session() as session:
session.trust_env = False
session.proxies = {
"http": "http://127.0.0.1:8080",
"https": "http://127.0.0.1:8080",
}
response = session.get(
"https://example.com/",
timeout=(5, 15),
)
response.raise_for_status()
trust_env=False वातावरण-संबंधित प्रमाणपत्र संरचना व स्वयंचलित netrc प्रमाणीकरणालाही प्रभावित करते. निवडीपूर्वी या अवलंबित्वांचा विचार करा. मंजूर खाजगी CA बंडलसाठी स्पष्ट पथ देता येतो:
response = session.get(
"https://example.com/",
timeout=(5, 15),
verify="/path/to/approved-ca-bundle.pem",
)
खरोखर मंजूर बंडल वापरा आणि पडताळणी सुरू ठेवा. इतर काम वापरत असताना एक Session बदलण्याऐवजी प्रत्येक रूटिंग धोरणासाठी स्वतंत्र Session ठेवा.
दोन्ही पर्याय अनुप्रयोगाचा मार्ग स्पष्ट करत नसतील तर त्याच रनटाइम व निरुपद्रवी गंतव्यावर स्वतंत्र Session ची अनुप्रयोगाशी तुलना करा. उपस्थित प्रॉक्सी चल, trust_env चे मूल्य व कॉलमध्ये proxies दिले जाते का ते नोंदवा; प्रवेश तपशील असलेले URL सामायिक लॉगमध्ये ठेवू नका. स्वतंत्र यश पुढील तपासाला Session निर्मिती, अडॅप्टर, तयार विनंत्यांचे प्रवाह किंवा स्वतःचे ट्रान्सपोर्ट यांकडे वळवते. curl वातावरण चाचणी Requests चे स्वतःचे एकत्रीकरण वर्तन ठरवत नाही.