chromedp.ProxyServer er et startalternativ for nettleseren. Bruk det på allocatoren som oppretter 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ører hjemme i applikasjonens eksisterende funksjon, med vanlig feilhåndtering for err. NewContext arver allocatoren fra allocCtx. En kontekst som lages fra en annen forelder, kan lage en annen nettleser uten dette alternativet.

Proxy-URL-en peker på en HTTP-lytter; offentlige kandidater finnes i HTTP-proxy-listen; siden forblir et HTTPS-mål. ProxyServer tilsvarer --proxy-server-flagget i Chromium, ikke net/http-proxyoppsettet i Go.

Chromium godtar ikke brukernavn og passord som er bygget inn i en manuell proxy-URL. Et autentisert endepunkt krever støttet nettleserautentisering eller en mellomløsning; å legge user:password til dette flagget er ikke det samme som URL-autentisering i en HTTP-klient. CDP-autentiseringshendelsesstrømmen i Chrome er én støttet vei for å håndtere den tiltenkte proxy-utfordringen.

Hold allocatoren i live til nettleserarbeidet er ferdig. Avbruddet hører også til prosessoppryddingen, mens avbrudd av fanen avgrenser den tilknyttede nettleserkonteksten.

Relaterte artikler