Set ProxyServer til chromedp på ExecAllocator
Lag nettlesarkonteksten frå ExecAllocator som ber ProxyServer, slik at den tiltenkte Chromium-prosessen får proxy-flaggja si.
chromedp.ProxyServer er eit startval for nettlesaren. Bruk det på allocatoren som lagar Chromium-prosessen:
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/"),
)
Koden høyrer til i den eksisterande funksjonen i applikasjonen, med vanleg feilhandsaming for err. NewContext arvar allocatoren frå allocCtx. Ein kontekst laga frå ein annan forelder kan laga ein annan nettlesar utan dette valet.
Proxy-URL-en peikar på ein HTTP-lyttar; offentlege kandidatar finst i HTTP-proxy-lista; sida er framleis ein HTTPS-destinasjon. ProxyServer svarar til --proxy-server-flaggja i Chromium, ikkje til net/http-proxyoppsettet i Go.
Chromium godtek ikkje brukarnamn og passord som er innbygde i ein manuell proxy-URL. Eit autentisert endepunkt treng støtta nettlesarautentisering eller ei mellomløysing; å leggje user:password til denne flaggja er ikkje det same som URL-autentisering i ein HTTP-klient. CDP-autentiseringshendingsstraumen i Chrome er ein støtta veg for å handsame den tiltenkte proxy-utfordringa.
Hald allocatoren levande til nettlesararbeidet er ferdig. Avbrotet høyrer òg til prosessoppryddinga, medan avbrot av fanen avgrensar den tilknytte nettlesarkonteksten.