เมื่อตรวจสอบเส้นทางที่เลือก ให้ใช้ Request ที่ผูกกับการตอบกลับที่เสร็จสมบูรณ์ แยกข้อสังเกตสามอย่างออกจากกัน:

ฟิลด์ความหมาย
response.request.meta.get('proxy')URL พร็อกซีที่เลือกของคำขอนี้ เมื่อมีอยู่
response.ip_addressที่อยู่ที่แฮนด์เลอร์ดาวน์โหลดให้ อาจเป็น None
รายงานแหล่งที่มาจากปลายทางที่เชื่อถือได้แหล่งสาธารณะที่สังเกตได้ที่นั่น

ภายใน callback ให้ละเว้นส่วนของ 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,
)

ในแฮนด์เลอร์ HTTP/1.1 ของ Scrapy 2.13.3 ที่อยู่มาจากเพียร์ของการเชื่อมต่อของการตอบกลับ ไม่ใช่จากบริการ IP ขาออก บางเส้นทาง รวมถึงการตอบกลับความยาวศูนย์ อาจทำให้เป็น None แฮนด์เลอร์อื่นอาจเติมต่างกัน None เองไม่ได้พิสูจน์การกำหนดเส้นทางโดยตรง

สำหรับการตรวจสอบขาออก สอบถามปลายทางที่เชื่อถือได้ภายใต้นโยบายพร็อกซีที่ตั้งใจ และเก็บอัตลักษณ์ของคำขอไว้กับข้อสังเกต มิดเดิลแวร์ที่หมุนเวียนอาจให้ปลายทางอื่นแก่การตรวจครั้งหลัง

การเปลี่ยนเส้นทางก็สร้างคำขออีกฉบับ เมทาดาทาสุดท้ายอธิบายขั้นนั้น ตรวจสอบประวัติการเปลี่ยนเส้นทางและการเลือกใหม่ใด ๆ ของมิดเดิลแวร์ แทนที่จะถือเป็นหลักฐานของเส้นทางของ URL แรก

บทความที่เกี่ยวข้อง