Scrapy का कुकी जार एक सत्र का होता है, स्वतः प्रॉक्सी का नहीं
जब कई प्रॉक्सी वर्कफ़्लो एक ही स्पाइडर साझा करते हैं, तो स्पष्ट कुकी-जार पहचान चुनें और उस पहचान को आगे के अनुरोधों तक ले जाएँ।
प्रॉक्सी बदलने से स्पाइडर की कुकीज़ अपने आप नहीं बदलतीं। यह एक चल रहे सत्र के लिए उपयोगी हो सकता है और तब आश्चर्यजनक लगता है जब कई स्वतंत्र सत्र एक ही स्पाइडर साझा करते हैं।
Scrapy का कुकी मिडलवेयर अनुरोध के cookiejar मेटाडेटा से चुने गए अलग जार का समर्थन करता है। उस कुंजी को वही पहचान दें जिसे आप वास्तव में बनाए रखना चाहते हैं:
yield scrapy.Request(
'https://example.com/start',
meta={'proxy': selected_proxy, 'cookiejar': 'workflow-17'},
)
एंडपॉइंट और जार-कुंजी दो स्वतंत्र चुनाव हैं। एक अनधिप्रमाणित सार्वजनिक क्रॉल अपना चुना हुआ HTTP एंडपॉइंट HTTP प्रॉक्सी सूची से ले सकता है जहाँ वह मार्ग अनुमत है; वर्कफ़्लो फिर भी जार-कुंजी का स्वामी है। इस सत्र में रहने वाले अनुवर्ती अनुरोध को वही जार-कुंजी चाहिए; मेटाडेटा आपके बनाए हर नए अनुरोध से अपने आप नहीं चिपकता। सभी मिडलवेयर मेटाडेटा को आँख मूँदकर कॉपी करने के बजाय वर्कफ़्लो के लिए आवश्यक विशिष्ट फ़ील्ड आगे भेजें।
प्रॉक्सी पते को जार-कुंजी बनाना केवल एक नीति है
वह शॉर्टकट स्थिति को एंडपॉइंट के अनुसार समूहित करता है। यह उसे व्यक्ति, खाते या सार्वजनिक एग्ज़िट के अनुसार ज़रूरी नहीं कि समूहित करे। एक प्रदाता एंडपॉइंट एग्ज़िट घुमा सकता है, और कई खाते एक ही एंडपॉइंट इस्तेमाल कर सकते हैं।
स्थिर स्थिति चाहने वाले अधिकृत वर्कफ़्लो के लिए खाता/सत्र पहचानकर्ता, जार पहचानकर्ता और चुना गया मार्ग अलग-अलग दर्ज करें। अगर आप बीच रास्ते में मार्ग बदलने का फ़ैसला करते हैं, तो यह भी तय करें कि एप्लिकेशन सत्र का क्या होना चाहिए।
अलग जार आपके परिभाषित समूहों के बीच आकस्मिक कुकी साझाकरण रोकते हैं। पर वे यह वादा नहीं करते कि कोई गंतव्य खाते या अन्य एप्लिकेशन डेटा के ज़रिये दो अनुरोधों को जोड़ नहीं सकता।
अगर IP बदलने के बाद भी ग़लत पेज बना रहता है, तो सभी कुकी हटाने या पूरा प्रॉक्सी पूल बदलने से पहले जाँचें कि किस जार ने अनुरोध भेजा था। रखी गई स्थिति पेज को पूरी तरह समझा सकती है।