การเปลี่ยนเส้นทางของ Python Requests: None กับค่า proxy ว่าง
รักษาเจตนาของการกำหนดเส้นทางตรงให้ชัดเจนตลอดการเปลี่ยนเส้นทาง แทนที่จะพึ่งพาค่า None ที่ลบรายการการแมป
หากคำขอโดยตรงไปถึงการเปลี่ยนเส้นทางและการแลกเปลี่ยนถัดไปล้มเหลวที่ proxy ให้ตรวจสอบการเปลี่ยนผ่าน Requests สร้างการตั้งค่าที่เกี่ยวข้องกับ proxy ใหม่สำหรับการเปลี่ยนเส้นทาง และอาจตรวจสอบสภาพแวดล้อมอีกครั้งเมื่อ Session เชื่อถือมัน
| ค่าการแมป | สิ่งที่เกิดขึ้นระหว่างการรวม |
|---|---|
None | คีย์ถูกลบออก เหลือรายการที่หายไปซึ่งรอบถัดไปสามารถเติมจากสภาพแวดล้อมได้ |
| สตริงว่าง | ค่าที่ชัดเจนยังคงอยู่ ค่านั้นสามารถรักษาเจตนาของการกำหนดเส้นทางตรงสำหรับสคีมานั้น |
สำหรับ Session ที่มีอยู่ ให้ระบุสคีมาปลายทางที่เกี่ยวข้องกับการดำเนินการโดยตรง:
response = session.get(
'https://example.com/start',
proxies={'http': '', 'https': ''},
timeout=15,
)ตรวจสอบการแมปเฉพาะโฮสต์เพิ่มเติมและอะแดปเตอร์ที่กำหนดเองหากแอปพลิเคชันจัดหาให้ อินพุตการกำหนดเส้นทางนี้ไม่ได้แทนที่นโยบายที่เป็นไปได้ทั้งหมดที่ส่วนประกอบเหล่านั้นใช้งาน
เก็บทุก URL ไว้ในการวินิจฉัย
บันทึก URL เดิม ตำแหน่งการเปลี่ยนเส้นทางแต่ละแห่ง สถานะการตอบสนอง และขั้นตอนที่ล้มเหลว การเปลี่ยนจาก HTTP เป็น HTTPS เปลี่ยนคีย์สคีมาที่เกี่ยวข้อง โฮสต์ใหม่อาจอยู่นอกกฎการข้ามของโฮสต์แรก รายงานที่มีเพียง URL เริ่มต้นจะซ่อนการเปลี่ยนผ่านทั้งสอง
การสังเกตการตอบสนองหนึ่งครั้งโดยปิดการติดตามการเปลี่ยนเส้นทางสามารถเปิดเผยขอบเขตได้ ตรวจสอบตำแหน่งของมันเป็นข้อมูลก่อนตัดสินใจขอ อย่าส่งข้อมูลรับรองเดิมไปยังปลายทางใหม่โดยไม่แยกแยะ
Session เฉพาะที่มีการปิดการค้นหาสภาพแวดล้อมเป็นอีกทางเลือกหนึ่งเมื่อแอปพลิเคชันเป็นเจ้าของอินพุตการกำหนดเส้นทางและความไว้วางใจทั้งหมดโดยเจตนา สิ่งนี้ยังส่งผลต่อ การค้นหาข้อมูลรับรองและ CA โดยอัตโนมัติ ด้วย ดังนั้นควรเลือกเป็นนโยบายของแอปพลิเคชัน ไม่ใช่การซ่อมแซมการเปลี่ยนเส้นทางตามปกติ