Sett chromedps ProxyServer på ExecAllocator
Lag nettleserkonteksten fra ExecAllocator som bærer ProxyServer, slik at den tiltenkte Chromium-prosessen får proxy-flagget sitt.
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 i applikasjonens eksisterende funksjon, med vanlig feilhåndtering for err. NewContext arver allocatoren fra allocCtx. En kontekst laget fra en annen forelder kan lage en annen nettleser uten dette alternativet.
Proxy-URL-en identifiserer en HTTP-lytter; offentlige kandidater finnes i HTTP-proxy-listen; siden forblir en HTTPS-destinasjon. ProxyServer svarer til Chromiums --proxy-server-flagg, ikke til Go sin net/http-proxykonfigurasjon.
Chromium godtar ikke brukernavn og passord som er innebygd i en manuell proxy-URL. Et autentisert endepunkt trenger støttet nettleserautentisering eller en mellomleddsløsning; å legge til user:password på dette flagget er ikke det samme som URL-autentisering i en HTTP-klient. Chromes CDP-autentiseringshendelsesforløp er én støttet vei for å håndtere den tiltenkte proxy-utfordringen.
Hold allocatoren i live til nettleserarbeidet er fullført. Avbrytelsen hører også til prosessopprydningen, mens avbrudd av fanen avgrenser den tilknyttede nettleserkonteksten.