Rust headless_chrome: নেভিগেশ্যনৰ আগতে HTTP Proxy ৰ প্ৰমাণপত্ৰ ছেট কৰক
ব্ৰাউজাৰ আৰম্ভ কৰোতে HTTP Proxy বাছনি কৰক আৰু নেভিগেশ্যনৰ আগতে headless_chrome টেবত Fetch প্ৰমাণীকৰণ সক্ৰিয় কৰক।
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 ইণ্টাৰচেপশ্যনো সংস্থাপিত হয়, তেন্তে ৰখা অনুৰোধ কোনে আগবঢ়ায় আৰু চেলেঞ্জৰ উত্তৰ কোনে দিয়ে সেয়া নিৰ্ধাৰণ কৰক; সমাধান নোহোৱা ৰখা অনুৰোধে নেভিগেশ্যন বাধাগ্ৰস্ত কৰিব পাৰে।
এই সৰল টেব প্ৰমাণীকৰণে উদ্দেশ্য কৰা Proxy চেলেঞ্জ ধৰি লয়। অসংশ্লিষ্ট origin প্ৰমাণীকৰণ থকা কাৰ্যপ্ৰবাহত প্ৰতিটো চাৰ্ভাৰৰ বাবে মধ্যস্থক একাউণ্ট পুনৰ ব্যৱহাৰৰ সলনি চেলেঞ্জৰ পৰিসৰ স্পষ্টকৈ নিৰ্ধাৰণ প্ৰয়োজন। Chromium ৰ SOCKS5 ব্যৱহাৰকাৰীনাম আৰু পাছৱৰ্ড সীমাবদ্ধতাও এই HTTP প্ৰমাণীকৰণ পথৰ পৰা পৃথক।