Python Requests: proxies को request() में दें, Request में नहीं
प्रॉक्सी कॉन्फ़िगरेशन उस API पर रखें जो अनुरोध भेजती है, HTTP संदेश का वर्णन करने वाले Request ऑब्जेक्ट के कंस्ट्रक्टर पर नहीं।
Requests एक Request क्लास और छोटे अक्षरों वाला request फ़ंक्शन देता है। अक्षरों का आकार बदलने पर सरल अज्ञात-फ़ंक्शन त्रुटि के बजाय मान्य API को गलत आर्ग्युमेंट सूची के साथ कॉल किया जा सकता है।
Request ऑब्जेक्ट HTTP संदेश का वर्णन करता है। प्रॉक्सी कॉन्फ़िगरेशन उस API का है जो इसे भेजती है। सामान्य कॉल के लिए:
response = requests.request(
'GET', 'https://example.com/',
proxies=routes, timeout=15
)यहाँ routes इस क्रिया के लिए चुना गया प्रॉक्सी मैपिंग है। अनुमत सार्वजनिक अनुरोधों के लिए मुफ़्त प्रॉक्सी सूची उन उम्मीदवारों को देती है जिन्हें उस Requests इंस्टॉलेशन द्वारा समर्थित प्रोटोकॉल से फ़ॉर्मैट किया जा सके। वही proxies कीवर्ड requests.Request के कंस्ट्रक्टर में देना समतुल्य नहीं है।
यदि एप्लिकेशन जानबूझकर तैयार अनुरोधों का उपयोग करता है, तो संदेश की तैयारी और भेजने का कॉन्फ़िगरेशन अलग रखें। सत्र के भेजने के प्रवाह को इच्छित परिवेश विलय, समय-सीमा, सत्यापन और प्रॉक्सी सेटिंग्स भी चाहिए।
प्रॉक्सी एंडपॉइंट बदलने से पहले API की असंगति ठीक करें। कंस्ट्रक्टर में TypeError तब होता है जब वह ऑब्जेक्ट इच्छित नेटवर्क अनुरोध नहीं कर चुका होता।