पूर्ण झालेल्या प्रतिसादाशी जोडलेली Request वापरून त्याचा निवडलेला मार्ग तपासा. तीन निरीक्षणे वेगळी ठेवा:

फील्डअर्थ
response.request.meta.get('proxy')या विनंतीचा निवडलेला प्रॉक्सी URL, असल्यास
response.ip_addressडाउनलोड हँडलरने दिलेला पत्ता, कदाचित None
विश्वासार्ह गंतव्यस्थानाचा स्रोत अहवालतेथे निरीक्षण केलेला सार्वजनिक स्रोत

कॉलबॅकमध्ये, क्रेडेन्शियल असलेले URL भाग नियमित निदानातून वगळा:

from urllib.parse import urlsplit

proxy = response.request.meta.get('proxy')
proxy_host = urlsplit(proxy).hostname if proxy else None
self.logger.info(
    'target_host=%s proxy_host=%s peer_ip=%s',
    urlsplit(response.url).hostname, proxy_host, response.ip_address,
)

Scrapy 2.13.3 च्या HTTP/1.1 हँडलरमध्ये पत्ता प्रतिसादाच्या कनेक्शन पीअरकडून येतो, एक्झिट-IP सेवेकडून नाही. काही मार्ग, शून्य-लांबीच्या प्रतिसादांसह, तो None ठेवू शकतात. इतर हँडलर तो वेगळ्या पद्धतीने भरू शकतात. None स्वतःहून थेट राउटिंग सिद्ध करत नाही.

एक्झिट तपासणीसाठी, इच्छित प्रॉक्सी धोरणांतर्गत विश्वासार्ह एंडपॉइंटला विचारा आणि विनंतीची ओळख निरीक्षणासोबत ठेवा. फिरणारे मिडलवेअर पुढील तपासणीला दुसरे एंडपॉइंट देऊ शकते.

रीडायरेक्ट देखील दुसरी विनंती तयार करतात. अंतिम मेटाडेटा तो टप्पा वर्णन करतो; पहिल्या URL च्या मार्गाचा पुरावा मानण्याऐवजी रीडायरेक्ट इतिहास आणि मिडलवेअरची कोणतीही पुनर्निवड तपासा.

संबंधित लेख