Ustaw ProxyServer chromedp na alokatorze ExecAllocator
Utwórz kontekst przeglądarki z alokatora ExecAllocator noszącego ProxyServer, aby zamierzony proces Chromium otrzymał swoją flagę proxy.
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.