Rust headless_chrome: הגדרת פרטי proxy HTTP לפני ניווט
בחרו את proxy ה-HTTP בעת הפעלת הדפדפן והפעילו אימות Fetch בכרטיסיית headless_chrome לפני הניווט.
ב-crate Rust בשם 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 מותאם, קבעו מי ממשיך בקשות מושהות ומי עונה לאתגרים; בקשה מושהית שלא נפתרה עלולה לחסום את הניווט.
הגדרת האימות הפשוטה הזו בכרטיסייה מניחה את אתגר ה-proxy המיועד. תהליך עבודה עם אימות של מקור לא קשור זקוק לתיחום מפורש של האתגר במקום שימוש חוזר בחשבון המתווך לכל שרת. גם מגבלת SOCKS5 של Chromium על שם משתמש וסיסמה נפרדת ממסלול אימות ה-HTTP הזה.