ExecAllocator တွင် chromedp ၏ ProxyServer ကို သတ်မှတ်ပါ
ProxyServer သယ်ဆောင်သော ExecAllocator မှ ဘရောက်ဇာ context ကို ဖန်တီးပြီး ရည်ရွယ်ထားသော Chromium လုပ်ငန်းစဉ် ၎င်း၏ proxy အလံကို ရရှိစေပါ။
chromedp.ProxyServer သည် ဘရောက်ဇာ စတင်ရာတွင် သုံးသော ရွေးချယ်မှုတစ်ခု ဖြစ်သည်။ Chromium လုပ်ငန်းစဉ်ကို ဖန်တီးသော allocator တွင် ၎င်းကို အသုံးပြုပါ-
opts := append(chromedp.DefaultExecAllocatorOptions[:],
chromedp.ProxyServer("http://proxy.example:8080"),
)
allocCtx, cancelAllocator := chromedp.NewExecAllocator(
context.Background(), opts...,
)
defer cancelAllocator()
tabCtx, cancelTab := chromedp.NewContext(allocCtx)
defer cancelTab()
err := chromedp.Run(tabCtx,
chromedp.Navigate("https://www.example.com/"),
)
ကုဒ်သည် အပလီကေးရှင်း၏ ရှိပြီးသား function ထဲတွင် ရှိသင့်ပြီး err အတွက် ပုံမှန် အမှားကိုင်တွယ်မှု ပါဝင်ရမည်။ NewContext သည် allocCtx မှ allocator ကို အမွေဆက်ခံသည်။ အခြား parent မှ ဖန်တီးထားသော context သည် ထို ရွေးချယ်မှုမပါဘဲ အခြား ဘရောက်ဇာကို ဖန်တီးနိုင်သည်။
proxy URL သည် HTTP listener ကို ဖော်ပြသည်။ အများသုံး ကိုယ်စားလှယ်လောင်းများကို HTTP proxy စာရင်း တွင် ရနိုင်သည်။ စာမျက်နှာသည် HTTPS ပန်းတိုင် အဖြစ် ဆက်ရှိနေသည်။ ProxyServer သည် Chromium ၏ --proxy-server အလံသို့ ဖြစ်ပြီး Go ၏ net/http proxy ဖွဲ့စည်းမှုသို့ မဟုတ်ပါ။
Chromium သည် ကိုယ်တိုင် သတ်မှတ်ထားသော proxy URL ထဲတွင် ထည့်ထားသည့် အသုံးပြုသူအမည် နှင့် စကားဝှက်ကို လက်မခံပါ။ အတည်ပြုထားသော endpoint အတွက် ပံ့ပိုးထားသည့် ဘရောက်ဇာ အတည်ပြုမှု သို့မဟုတ် ကြားခံ အစီအစဉ် လိုအပ်သည်။ ဤအလံတွင် user:password ထည့်ခြင်းသည် HTTP client URL အတည်ပြုမှုနှင့် တူညီမှု မရှိပါ။ Chrome ၏ CDP အတည်ပြုမှု ဖြစ်ရပ် စီးဆင်းမှု သည် ရည်ရွယ်ထားသော proxy စိန်ခေါ်မှုကို ကိုင်တွယ်ရန် ပံ့ပိုးထားသော လမ်းကြောင်းများထဲမှ တစ်ခု ဖြစ်သည်။
ဘရောက်ဇာ အလုပ် မပြီးမချင်း allocator ကို ရှင်သန်စေပါ။ ၎င်းကို ပယ်ဖျက်ခြင်းသည် လုပ်ငန်းစဉ် ရှင်းလင်းရေး၏ အစိတ်အပိုင်းလည်း ဖြစ်ပြီး tab ပယ်ဖျက်ခြင်းသည် ဆက်စပ်နေသော ဘရောက်ဇာ context ၏ အတိုင်းအတာကို သတ်မှတ်သည်။