GET ຜ່ານ proxy ສາມາດໄປຮອດເຊີບເວີ ແລ້ວຕິດຕາມການປ່ຽນເສັ້ນທາງ ຈົນກວ່າຄວາມລົ້ມເຫຼວສຸດທ້າຍຈະປິດບັງການຕອບສະໜອງທຳອິດ. ເປີດເຜີຍການຕອບສະໜອງເບື້ອງຕົ້ນນັ້ນເພື່ອການວິເຄາະ:

request = scrapy.Request(
    'https://service.example/page',
    callback=inspect_redirect,
    meta={
        'proxy': 'http://proxy.example:8080',
        'dont_redirect': True,
        'handle_httpstatus_list': [301, 302, 303, 307, 308],
    },
)

ກຳນົດເວລາຄຳຮ້ອງນີ້ຜ່ານຂະບວນການ start ຫຼື callback ທີ່ມີຢູ່ແລ້ວຂອງ spider. ສຳລັບການທົດສອບໜ້າເວັບສາທາລະນະທີ່ໄດ້ຮັບອະນຸຍາດ ລາຍຊື່ proxy HTTP ສະໜອງຜູ້ສະໝັກສຳລັບ URL proxy ຂອງຄຳຮ້ອງ. inspect_redirect ຄວນບັນທຶກສະຖານະການຕອບສະໜອງ ແລະ ຫົວຂໍ້ Location ແທນທີ່ຈະຕິດຕາມມັນຄືນຢ່າງບໍ່ມີເຫດຜົນ.

dont_redirect ຢຸດການປ່ຽນເສັ້ນທາງອັດຕະໂນມັດສຳລັບຄຳຮ້ອງນີ້. handle_httpstatus_list ໃຫ້ສະຖານະທີ່ລະບຸໄວ້ໄປຮອດ callback ແທນທີ່ຈະຖືກປະຕິເສດໂດຍການກັ່ນຕອງຄວາມຜິດພາດ HTTP. ການຕັ້ງຄ່າເຫຼົ່ານີ້ກ່ຽວຂ້ອງກັບໜ້າທີ່ຕ່າງກັນຂອງ middleware.

ກວດເບິ່ງວ່າການປ່ຽນເສັ້ນທາງເລືອກຫຍັງ: URL canonical ທີ່ຕັ້ງໃຈ, scheme ຫຼື hostname ອື່ນ, ໜ້າເຂົ້າສູ່ລະບົບ, ຫຼື ວົງຈອນທີ່ເກີດຊ້ຳ. 302 ທີ່ໄດ້ຮັບຫຼັງການຂົນສົ່ງສຳເລັດແມ່ນການສັງເກດທີ່ແຕກຕ່າງຈາກການເປີດການເຊື່ອມຕໍ່ proxy ບໍ່ໄດ້.

ເມື່ອການຈັດການການປ່ຽນເສັ້ນທາງປົກກະຕິຖືກຟື້ນຟູ, Scrapy ຈະເປີດເຜີຍ redirect_urls ແລະ redirect_reasons ໃນ metadata ຄຳຮ້ອງຂອງການຕອບສະໜອງ. ສິ່ງເຫຼົ່ານີ້ສາມາດຮັກສາເສັ້ນທາງໄປສູ່ຜົນສຸດທ້າຍ ໂດຍບໍ່ປະໃຫ້ການປ່ຽນເສັ້ນທາງຖືກປິດໄວ້ຕະຫຼອດການຄົ້ນຫາ.

ການຕອບສະໜອງສຸດທ້າຍບໍ່ແມ່ນໜ້າເວັບທີ່ແອັບພລິເຄຊັນຕັ້ງໃຈໂດຍອັດຕະໂນມັດ. ເກັບປາຍທາງ ແລະ ເນື້ອຫາການຕອບສະໜອງໄວ້ກັບການວິເຄາະເສັ້ນທາງ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ