Rust headless_chrome: ตั้งค่าข้อมูลรับรองพร็อกซี HTTP ก่อนนำทาง
เลือกพร็อกซี HTTP เมื่อเริ่มเบราว์เซอร์และเปิดใช้งานการยืนยันตัวตน Fetch บนแท็บ headless_chrome ก่อนนำทาง
ใน Rust crate headless_chrome การตั้งค่าเริ่มต้นของเบราว์เซอร์เลือกตัวกลาง 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 เป็นการแลกเปลี่ยนข้อมูลรับรองนี้
ให้เบราว์เซอร์และแท็บคงอยู่ตลอดการทำงาน หากติดตั้งการดักจับ Fetch แบบกำหนดเองด้วย ให้กำหนดว่าใครจะดำเนินการต่อคำขอที่หยุดไว้และใครจะตอบการท้าทาย คำขอที่หยุดไว้ซึ่งไม่ได้รับการแก้ไขอาจทำให้การนำทางค้าง
การยืนยันตัวตนบนแท็บแบบง่ายนี้ถือว่าการท้าทายพร็อกซีเป็นไปตามที่ตั้งใจ เวิร์กโฟลว์ที่มีการยืนยันตัวตนของต้นกำเนิดอื่นต้อง กำหนดขอบเขตการท้าทายอย่างชัดเจน แทนการใช้บัญชีตัวกลางซ้ำสำหรับทุกเซิร์ฟเวอร์ ข้อจำกัด SOCKS5 ของ Chromium เกี่ยวกับชื่อผู้ใช้และรหัสผ่านก็แยกจากเส้นทางการยืนยันตัวตน HTTP นี้