सिलेक्टर प्रॉक्सी A छापता है, फिर प्रॉक्सी B। अनुरोध लॉग अब भी प्रॉक्सी A दिखाता है। इस विरोधाभास को समझाने के लिए नेटवर्क सेवा की ज़रूरत नहीं है: कॉलर ने सिलेक्टर का लौटाया मान शायद फेंक दिया है।

मान को उस कॉल तक ट्रेस करें जो अनुरोध भेजती है:

endpoint = choose_proxy()
routes = {'http': endpoint, 'https': endpoint}
response = session.get(target_url, proxies=routes, timeout=15)

यह अंश मौजूदा Requests सत्र और मान्य प्रॉक्सी URL मानता है। सार्वजनिक मध्यस्थों के ज़रिए अनुमत सार्वजनिक अनुरोधों के लिए, मुफ़्त प्रॉक्सी सूची ऐसे उम्मीदवार URL देती है जो उसी चयन-और-भेजने के मार्ग से गुज़रते हैं। समर्थित कीवर्ड proxies है। मैपिंग छापने वाला, या ऐसी मैपिंग लौटाने वाला सहायक जिसे कोई असाइन नहीं करता, यहाँ दी गई मैपिंग की जगह नहीं ले सकता।

चुना गया मार्ग ऑपरेशन के भीतर ही स्थानीय रखें। समवर्ती कोड में, साझा current_proxy फ़ील्ड लॉग करने और भेजने के बीच बदल सकता है। तब किसी दूसरे वर्कर का चयन गलत परिणाम के बगल में दिख सकता है।

चयन, भेजने के कॉन्फ़िगरेशन और परिणाम को जोड़ने के लिए प्रयास पहचानकर्ता का उपयोग करें। जब पूर्ण URL में क्रेडेंशियल हों, तो उसके बजाय सुरक्षित एंडपॉइंट पहचानकर्ता लॉग करें।

अगर वे मान मेल खाते हैं पर देखा गया सार्वजनिक IP नहीं बदलता, तो आप एक अलग सवाल तक पहुँच गए हैं: क्या चुने गए एंडपॉइंट अलग-अलग निकास देते हैं, या कोई घूमता गेटवे कनेक्शन बनाए रखता है। पहले तय करें कि एप्लिकेशन ने वही मार्ग भेजा जिसे उसने चुनने का दावा किया। वरना प्रदाता की ओर की अटकलें एक साधारण पुराने चर को घंटों छिपा सकती हैं।

संबंधित लेख