ວິເຄາະການໝົດເວລາຂອງ proxy Puppeteer ຕາມຄຳຂໍ ແລະ ຈຸດໝາຍຂອງໜ້າ
ໃຊ້ requestfailed ສຳລັບຄວາມລົ້ມເຫຼວຂອງເຄືອຂ່າຍ ແລະ ສະຖານະ HTTPResponse ສຳລັບການຕອບສະໜອງຂອງເຊີບເວີ ກ່ອນທີ່ຈະກ່າວໂທດ proxy ວ່າເປັນສາເຫດຂອງການໂຫຼດໜ້າເຕັມທີ່ຊ້າ.
ການຕອບສະໜອງໄວຈາກ curl ຫຼື Axios ປົກກະຕິແມ່ນຊັບພະຍາກອນດຽວ. Puppeteer ຍັງສາມາດດຶງ script, ຮູບພາບ, frame ແລະ API ຈາກຫຼາຍເຄື່ອງ ແລ້ວລໍຖ້າຈຸດໝາຍໜ້າທີ່ຊ້າກວ່າ.
ເນື່ອງຈາກ proxy ຖືກຕັ້ງຄ່າແລ້ວໃນໜ້າທີ່ມີຢູ່, ໃຫ້ສັງເກດຄວາມລົ້ມເຫຼວແຕ່ລະອັນລະຫວ່າງການນຳທາງ:
page.on("requestfailed", request => {
console.log(request.url(), request.failure()?.errorText);
});
await page.goto(targetUrl, {
waitUntil: "domcontentloaded",
timeout: 30000,
});ລັນອັນນີ້ໃນ workflow ແບບ async ດ້ວຍ targetUrl ຕົວຈິງ. ຕົວຢ່າງລໍຖ້າ DOMContentLoaded ເຊິ່ງເກີດຂຶ້ນກ່ອນການສຳເລັດຂອງທຸກຮູບທີ່ຕ້ອງການ ຫຼື ການຕອບສະໜອງຂອງແອັບພລິເຄຊັນທີ່ຊ້າກວ່າ. ປຽບທຽບຈຸດໝາຍນັ້ນກັບຈຸດທີ່ການນຳທາງເດີມລໍຖ້າ: ເອກະສານຫຼັກ, DOM, load ຫຼື ຄວາມງຽບຂອງເຄືອຂ່າຍ ເປັນຜົນທີ່ແຕກຕ່າງກັນ.
ການຕອບສະໜອງ 403 ຫຼື 500 ບໍ່ແມ່ນເຫດການ requestfailed. ອ່ານສະຖານະຜ່ານ HTTPResponse ນຳ.
ໃຊ້ການສັງເກດເພື່ອລະບຸຊັບພະຍາກອນທີ່ຊ້າ ຫຼື ຖືກປະຕິເສດ, ການກວດສອບຊ້ຳ ຫຼື ເງື່ອນໄຂການລໍຖ້າທີ່ຊ້າກວ່າ. ການໝົດເວລາທີ່ຍາວກວ່າພຽງແຕ່ຂະຫຍາຍການລໍຖ້າ; ມັນບໍ່ຫຼຸດຜ່ອນວຽກຂອງ browser ແລະ ບໍ່ພິສູດວ່າທຸກການເຊື່ອມຕໍ່ຊັບພະຍາກອນຖືກຍອມຮັບ.