Rust headless_chrome: નેવિગેશન પહેલાં HTTP પ્રોક્સી ઓળખપત્રો સેટ કરો
બ્રાઉઝર શરૂ કરતી વખતે HTTP પ્રોક્સી પસંદ કરો અને નેવિગેશન પહેલાં 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 ઇન્ટરસેપ્શન પણ સ્થાપિત હોય, તો સ્થગિત વિનંતીઓ કોણ આગળ વધારે છે અને પડકારોનો જવાબ કોણ આપે છે તે નક્કી કરો; ઉકેલ ન થયેલ સ્થગિત વિનંતી નેવિગેશનને અટકાવી શકે છે.
આ સાદું ટૅબ પ્રમાણીકરણ ધારેલા પ્રોક્સી પડકારને ધારી લે છે. અસંબંધિત origin પ્રમાણીકરણવાળા કાર્યપ્રવાહને દરેક સર્વર માટે મધ્યસ્થ એકાઉન્ટ ફરી વાપરવાને બદલે પડકારનું સ્પષ્ટ સ્કોપિંગ જોઈએ. Chromiumની SOCKS5 વપરાશકર્તાનામ અને પાસવર્ડ મર્યાદા પણ આ HTTP પ્રમાણીકરણ માર્ગથી અલગ છે.