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 ਪ੍ਰਮਾਣਿਕਤਾ ਮਾਰਗ ਤੋਂ ਵੱਖਰੀ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ