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 путање аутентификације.