U Rust crateu headless_chrome postavka pokretanja preglednika bira HTTP posrednika. Fetch rukovalac 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 prosleđuje greške, a proxy_user i proxy_password su String vrednosti iz postojeće konfiguracije računa u aplikaciji. Postavite autentifikaciju prije nego navigacija može pokrenuti izazov.

Drugi argument funkcije enable_fetch uključuje događaje autentifikacije. Chromium ne tretira korisničke podatke u --proxy-server kao ovu razmenu akreditiva.

Držite pregledač i karticu živima tokom rada. Ako je instalirano i sopstveno Fetch presretanje, odredite ko nastavlja pauzirane zahteve i odgovara na izazove; nerešen pauziran zahtev može zaustaviti navigaciju.

Ova jednostavna autentifikacija kartice pretpostavlja nameravani proxy izazov. Tok rada sa autentifikacijom nepovezanog origin-a treba izričito ograničavanje izazova umesto ponovne upotrebe računa posrednika za svaki server. Chromiumovo SOCKS5 ograničenje korisničkog imena i lozinke takođe je odvojeno od ovog HTTP puta autentifikacije.

Povezani članci