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.

Súvisiace články