Rust headless_chrome: állítsa be a HTTP-proxy hitelesítő adatait navigáció előtt
Válassza ki a HTTP-proxyt a böngésző indításakor, és engedélyezze a Fetch-hitelesítést a headless_chrome lapon navigáció előtt.
A Rust headless_chrome crate esetében a böngésző indítási beállítása választja ki a HTTP-közvetítőt. A lap Fetch-kezelője adja meg a fiókot, amikor a Chromium kéri:
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()?;A körülvevő függvény továbbadja a hibákat, a proxy_user és a proxy_password pedig String-értékek az alkalmazás meglévő fiókkonfigurációjából. A hitelesítést még azelőtt állítsa be, hogy a navigáció kiválthatja a kihívást.
Az enable_fetch második argumentuma kapcsolja be a hitelesítési eseményeket. A Chromium nem tekinti a --proxy-server beágyazott felhasználói adatait erre a hitelesítőadat-cserére.
Tartsa életben a böngészőt és a lapot a munkához. Ha saját Fetch-elfogás is telepítve van, határozza meg, ki folytatja a szüneteltetett kéréseket és ki válaszol a kihívásokra; a megoldatlan szüneteltetett kérés megakadályozhatja a navigációt.
Ez az egyszerű lap-hitelesítés a szándékolt proxy-kihívást feltételezi. A más eredetű hitelesítést tartalmazó munkafolyamathoz a kihívás kifejezett körülhatárolása kell, nem pedig a közvetítő fiókjának újrafelhasználása minden kiszolgálóhoz. A Chromium SOCKS5-ös felhasználónév- és jelszókorlátja szintén elkülönül ettől a HTTP-hitelesítési úttól.