Defineix el ProxyServer de chromedp a l'ExecAllocator
Creeu el context del navegador des de l'ExecAllocator que porta ProxyServer perquè el procés de Chromium previst rebi el seu flag de proxy.
chromedp.ProxyServer és una opció d'inici del navegador. Apliqueu-la a l'allocator que crea el procés de 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/"),
)
El codi pertany a la funció existent de l'aplicació, amb la gestió d'errors habitual per a err. NewContext hereta l'allocator d'allocCtx. Un context creat des d'un altre pare pot crear un navegador diferent sense aquesta opció.
L'URL del proxy identifica un oient HTTP; hi ha candidats públics a la llista de proxys HTTP; la pàgina continua sent una destinació HTTPS. ProxyServer es correspon amb el flag --proxy-server de Chromium, no amb la configuració de proxy net/http de Go.
Chromium no accepta credencials d'usuari i contrasenya incrustades en un URL de proxy manual. Un punt final autenticat necessita una autenticació de navegador compatible o un esquema intermediari; afegir user:password a aquest flag no equival a l'autenticació per URL d'un client HTTP. El flux d'esdeveniments d'autenticació CDP de Chrome és una via compatible per gestionar el repte de proxy previst.
Mantingueu l'allocator viu fins que acabi la feina del navegador. La seva cancel·lació també forma part de la neteja del procés, mentre que la cancel·lació de la pestanya delimita el context de navegador associat.