Postavite ProxyServer u chromedp-u na ExecAllocator
Stvorite kontekst preglednika iz ExecAllocatora koji nosi ProxyServer kako bi predviđeni proces Chromium dobio svoju proxy zastavicu.
chromedp.ProxyServer opcija je pokretanja preglednika. Primijenite je na allocator koji stvara proces 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/"),
)
Kod pripada postojećoj funkciji aplikacije, uz uobičajeno rukovanje pogreškama za err. NewContext nasljeđuje allocator iz allocCtx. Kontekst stvoren iz drugog roditelja može stvoriti drugi preglednik bez te opcije.
Proxy URL označava HTTP slušatelja; javni kandidati dostupni su na popisu HTTP proxyja; stranica ostaje HTTPS odredište. ProxyServer preslikava se na Chromiumovu zastavicu --proxy-server, a ne na Go konfiguraciju proxyja u net/http.
Chromium ne prihvaća korisničko ime i lozinku ugrađene u ručno postavljeni proxy URL. Autentificirana krajnja točka zahtijeva podržanu autentifikaciju preglednika ili posredničko rješenje; dodavanje user:password ovoj zastavici nije jednako autentifikaciji URL-a u HTTP klijentu. Chromeov tijek CDP događaja autentifikacije jedan je od podržanih načina za rješavanje predviđenog proxy izazova.
Držite allocator živim dok se rad preglednika ne dovrši. Njegovo otkazivanje također je dio čišćenja procesa, dok otkazivanje kartice ograničava povezani kontekst preglednika.