U Rust crateu headless_chrome postavka pokretanja preglednika odabire HTTP posrednika. Fetch rukovatelj kartice daje račun kada Chromium to zatraži:

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()?;

Okolna funkcija prosljeđuje pogreške, a proxy_user i proxy_password String su vrijednosti iz postojeće konfiguracije računa u aplikaciji. Postavite autentikaciju prije nego navigacija može pokrenuti izazov.

Drugi argument funkcije enable_fetch uključuje događaje autentikacije. Chromium ne smatra korisničke podatke u --proxy-server ovom razmjenom vjerodajnica.

Držite preglednik i karticu živima tijekom rada. Ako je instalirano i vlastito Fetch presretanje, odredite tko nastavlja pauzirane zahtjeve i odgovara na izazove; neriješen pauzirani zahtjev može zaustaviti navigaciju.

Ova jednostavna autentikacija kartice pretpostavlja namjeravani proxy izazov. Radni tok s autentikacijom nepovezanog origin-a treba izričito ograničavanje izazova umjesto ponovne upotrebe računa posrednika za svaki poslužitelj. Chromiumovo SOCKS5 ograničenje korisničkog imena i lozinke također je odvojeno od ovog HTTP puta autentikacije.

Povezani članci