Rust headless_chrome: ନାଭିଗେସନ ପୂର୍ବରୁ HTTP ପ୍ରକ୍ସି ପ୍ରମାଣପତ୍ର ସେଟ କରନ୍ତୁ
ବ୍ରାଉଜର ଆରମ୍ଭ କରିବା ସମୟରେ HTTP ପ୍ରକ୍ସି ବାଛନ୍ତୁ ଏବଂ ନାଭିଗେସନ ପୂର୍ବରୁ headless_chrome ଟାବରେ Fetch ପ୍ରମାଣୀକରଣ ସକ୍ଷମ କରନ୍ତୁ।
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 ପ୍ରମାଣୀକରଣ ପଥରୁ ଅଲଗା।