chromedp.ProxyServer je opcija za pokretanje 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 greškama za err. NewContext nasljeđuje allocator iz allocCtx. Kontekst napravljen od drugog roditelja može stvoriti drugi preglednik bez te opcije.

Proxy URL identificira HTTP slušatelja; javni kandidati dostupni su u listi HTTP proxyja; stranica ostaje HTTPS odredište. ProxyServer se preslikava na Chromiumov --proxy-server flag, a ne na Go konfiguraciju proxyja u net/http.

Chromium ne prihvata korisničko ime i lozinku ugrađene u ručno zadani proxy URL. Autentificirana krajnja točka zahtijeva podržanu autentifikaciju preglednika ili posredničko rješenje; dodavanje user:password ovom flagu nije jednako autentifikaciji URL-a u HTTP klijentu. Chromeov tok 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 završi. Njegovo otkazivanje također je dio čišćenja procesa, dok otkazivanje taba ograničava povezani kontekst preglednika.

Povezani članci