chromedp.ProxyServer to opcja uruchamiania przeglądarki. Zastosuj ją do alokatora, który tworzy 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 należy do istniejącej funkcji aplikacji, ze zwykłą obsługą błędów dla err. NewContext dziedziczy alokator z allocCtx. Kontekst utworzony z innego rodzica może utworzyć inną przeglądarkę bez tej opcji.

Adres URL proxy wskazuje odbiornik HTTP; publiczne kandydatury są dostępne na liście proxy HTTP; strona pozostaje celem HTTPS. ProxyServer odpowiada fladze --proxy-server Chromium, a nie konfiguracji proxy net/http w Go.

Chromium nie akceptuje nazwy użytkownika i hasła osadzonych w ręcznie ustawionym adresie proxy. Uwierzytelniony punkt końcowy wymaga obsługiwanego uwierzytelniania przeglądarki lub rozwiązania pośredniego; dodanie user:password do tej flagi nie jest równoważne uwierzytelnianiu adresu URL w kliencie HTTP. Przepływ zdarzeń uwierzytelniania CDP w Chrome to jedna z obsługiwanych dróg poradzenia sobie z zamierzonym wyzwaniem proxy.

Utrzymuj alokator przy życiu, dopóki praca przeglądarki się nie zakończy. Jego anulowanie również należy do sprzątania procesu, a anulowanie karty ogranicza powiązany kontekst przeglądarki.

Powiązane artykuły