Rust headless_chrome: ຕັ້ງຂໍ້ມູນ HTTP proxy ກ່ອນການນຳທາງ
ເລືອກ HTTP proxy ຕອນເປີດ browser ແລະ ເປີດ Fetch authentication ໃນແທັບ headless_chrome ກ່ອນການນຳທາງ.
ໃນ crate Rust headless_chrome ການຕັ້ງຄ່າເປີດ browser ເລືອກຕົວກາງ HTTP. ຕົວຈັດການ Fetch ຂອງແທັບສະໜອງບັນຊີເມື່ອ Chromium ຮ້ອງຂໍ:
let proxy = "http://proxy.example:8080";
let options = headless_chrome::LaunchOptions::default_builder()
.proxy_server(Some(proxy))
.build()?;
let browser = headless_chrome::Browser::new(options)?;
let tab = browser.new_tab()?;
tab.enable_fetch(None, Some(true))?;
tab.authenticate(Some(proxy_user), Some(proxy_password))?;
tab.navigate_to("https://www.example.org/")?;
tab.wait_until_navigated()?;ຟັງຊັນທີ່ຫຸ້ມສົ່ງຄວາມຜິດພາດຕໍ່ໄປ, ແລະ proxy_user ກັບ proxy_password ເປັນຄ່າ String ຈາກການຕັ້ງຄ່າບັນຊີທີ່ມີຢູ່ແລ້ວຂອງແອັບ. ຕັ້ງການຢືນຢັນກ່ອນການນຳທາງຈະເຮັດໃຫ້ເກີດການທ້າທາຍ.
ອາກູເມັນທີສອງຂອງ enable_fetch ເປີດເຫດການຢືນຢັນ. Chromium ບໍ່ຖືວ່າຂໍ້ມູນຜູ້ໃຊ້ທີ່ຝັງໃນ --proxy-server ເປັນການແລກປ່ຽນຂໍ້ມູນຢືນຢັນນີ້.
ຮັກສາ browser ແລະ ແທັບໃຫ້ຢູ່ລອດຕະຫຼອດການເຮັດວຽກ. ຖ້າມີການຕິດຕັ້ງການສະກັດ Fetch ແບບກຳນົດເອງນຳ, ໃຫ້ກຳນົດວ່າໃຜຈະສືບຕໍ່ຄຳຮ້ອງທີ່ຢຸດໄວ້ ແລະ ໃຜຈະຕອບການທ້າທາຍ; ຄຳຮ້ອງທີ່ຢຸດໄວ້ແລ້ວບໍ່ໄດ້ແກ້ໄຂອາດເຮັດໃຫ້ການນຳທາງຢຸດຊະງັກ.
ການຢືນຢັນແທັບງ່າຍໆນີ້ສົມມຸດວ່າເປັນການທ້າທາຍ proxy ທີ່ຕັ້ງໃຈ. ຂະບວນວຽກທີ່ມີການຢືນຢັນ origin ທີ່ບໍ່ກ່ຽວຂ້ອງຕ້ອງການ ການກຳນົດຂອບເຂດການທ້າທາຍຢ່າງຊັດເຈນ ແທນການໃຊ້ບັນຊີຕົວກາງຄືນໃໝ່ສຳລັບທຸກເຊີບເວີ. ຂໍ້ຈຳກັດ SOCKS5 ຂອງ Chromium ເລື່ອງຊື່ຜູ້ໃຊ້ ແລະ ລະຫັດຜ່ານກໍແຍກຈາກເສັ້ນທາງການຢືນຢັນ HTTP ນີ້.