Sæt chromedps ProxyServer på ExecAllocator
Opret browserkonteksten ud fra ExecAllocator, der bærer ProxyServer, så den tilsigtede Chromium-proces får sit proxy-flag.
chromedp.ProxyServer er en startindstilling til browseren. Anvend den på den allocator, der opretter Chromium-processen:
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 til i applikationens eksisterende funktion med normal fejlbehandling for err. NewContext arver allocatoren fra allocCtx. En kontekst oprettet fra en anden parent kan oprette en anden browser uden den indstilling.
Proxy-URL'en angiver en HTTP-lytter; offentlige kandidater findes i HTTP-proxy-listen; siden forbliver en HTTPS-destination. ProxyServer svarer til Chromiums --proxy-server-flag, ikke til Go's net/http-proxykonfiguration.
Chromium accepterer ikke brugernavn og adgangskode indlejret i en manuel proxy-URL. Et autentificeret endepunkt kræver understøttet browserautentificering eller en mellemledsløsning; at føje user:password til dette flag er ikke det samme som URL-autentificering i en HTTP-klient. Chromes CDP-autentificeringshændelsesforløb er en understøttet vej til at håndtere den tilsigtede proxy-udfordring.
Hold allocatoren i live, indtil browserarbejdet er færdigt. Dens annullering hører også til procesoprydningen, mens annullering af fanen afgrænser den tilknyttede browserkontekst.