chromedp.ProxyServer е опция за стартиране на браузъра. Приложете я към алокатора, който създава процеса 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/"),
)

Кодът принадлежи в съществуващата функция на приложението, с обичайната обработка на грешки за err. NewContext наследява алокатора от allocCtx. Контекст, създаден от друг родител, може да създаде друг браузър без тази опция.

URL адресът на проксито идентифицира HTTP слушател; публични кандидати има в списъка с HTTP проксита; страницата остава HTTPS дестинация. ProxyServer се съпоставя с флага --proxy-server на Chromium, а не с конфигурацията за прокси net/http на Go.

Chromium не приема потребителско име и парола, вградени в ръчно зададен прокси URL. Удостоверена крайна точка изисква поддържано удостоверяване в браузъра или посредническа схема; добавянето на user:password към този флаг не е равностойно на удостоверяване на URL в HTTP клиент. Потокът от събития за удостоверяване на CDP в Chrome е един поддържан път за справяне с предвиденото прокси предизвикателство.

Пазете алокатора жив, докато работата на браузъра приключи. Отменянето му също е част от почистването на процеса, докато отменянето на раздела ограничава съответния контекст на браузъра.

Подобни статии