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 को आफ्नै मिलाउने व्यवहार निर्धारण गर्दैन।