Nastaviť ProxyServer v chromedp na ExecAllocator
Vytvorte kontext prehliadača z ExecAllocatoru, ktorý nesie ProxyServer, aby zamýšľaný proces Chromium dostal svoj prepínač proxy.
chromedp.ProxyServer je voľba spustenia prehliadača. Aplikujte ju na alokátor, ktorý vytvára proces Chromium:
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/"),
)
Kód patrí do existujúcej funkcie aplikácie, s obvyklým ošetrením chýb pre err. NewContext dedí alokátor z allocCtx. Kontext vytvorený z iného rodiča môže vytvoriť iný prehliadač bez tejto voľby.
URL proxy určuje HTTP poslucháča; verejní kandidáti sú k dispozícii v zozname HTTP proxy; stránka zostáva cieľom HTTPS. ProxyServer zodpovedá prepínaču --proxy-server v Chromium, nie konfigurácii proxy net/http v Go.
Chromium neprijíma používateľské meno a heslo vložené do ručne zadanej URL proxy. Overovaný koncový bod vyžaduje podporované overenie v prehliadači alebo sprostredkujúce riešenie; pridanie user:password k tomuto prepínaču nie je to isté ako overenie URL v HTTP klientovi. Tok udalostí overovania CDP v Chrome je jednou z podporovaných ciest na zvládnutie zamýšľanej proxy výzvy.
Udržujte alokátor nažive, kým sa práca prehliadača neskončí. Jeho zrušenie tiež patrí k upratovaniu procesu, zatiaľ čo zrušenie karty vymedzuje súvisiaci kontext prehliadača.