Rust headless_chrome క్రేట్‌లో బ్రౌజర్ ప్రారంభ సెట్టింగ్ HTTP మధ్యవర్తిని ఎంచుకుంటుంది. Chromium అడిగినప్పుడు ట్యాబ్ యొక్క Fetch హ్యాండ్లర్ ఖాతాను అందిస్తుంది:

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 ప్రామాణీకరణ మార్గం నుండి వేరుగా ఉంది.

సంబంధిత వ్యాసాలు