Rust headless_chrome: поставете акредитиви за HTTP прокси пред навигација
Изберете HTTP прокси при стартување на прелистувачот и овозможете Fetch автентикација на јазичето headless_chrome пред навигација.
Во 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 пресретнување, одредете кој ги продолжува паузираните барања и кој одговара на предизвиците; нерешено паузирано барање може да ја запре навигацијата.
Оваа едноставна автентикација на јазичето претпоставува дека предизвикот е наменет за проксито. Работен тек со автентикација на неповрзан origin бара јасно ограничување на предизвикот, наместо повторно користење на сметката на посредникот за секој сервер. Ограничувањето на Chromium за SOCKS5 со корисничко име и лозинка е исто така одвоено од овој HTTP пат за автентикација.