Rust headless_chrome: လမ်းကြောင်းပြောင်းခြင်းမတိုင်မီ HTTP proxy အထောက်အထားများ သတ်မှတ်ပါ
ဘရောက်ဇာ စတင်ချိန်တွင် HTTP proxy ကို ရွေးပြီး လမ်းကြောင်းမပြောင်းမီ headless_chrome တက်ဘ်တွင် Fetch အတည်ပြုခြင်းကို ဖွင့်ပါ။
Rust headless_chrome crate တွင် ဘရောက်ဇာ၏ စတင်ခြင်း ဆက်တင်က 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 အတည်ပြုခြင်း လမ်းကြောင်းနှင့် သီးခြား ဖြစ်သည်။