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 प्रमाणीकरण मार्गबाट अलग छ।

सम्बन्धित लेखहरू