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 адпавядае сцягу Chromium --proxy-server, а не канфігурацыі проксі net/http у Go.

Chromium не прымае імя карыстальніка і пароль, убудаваныя ў URL проксі, зададзены ўручную. Для аўтэнтыфікаванай канчатковай кропкі патрэбна падтрыманая аўтэнтыфікацыя браўзера або пасярэдніцкая схема; даданне user:password да гэтага сцяга не раўназначнае аўтэнтыфікацыі URL у HTTP-кліенце. Паток падзей аўтэнтыфікацыі CDP у Chrome — адзін з падтрыманых шляхоў для апрацоўкі мэтавага выкліку проксі.

Трымайце алкатар жывым, пакуль праца браўзера не завершыцца. Яго скасаванне таксама ўваходзіць у ачыстку працэсу, а скасаванне таба абмяжоўвае адпаведны кантэкст браўзера.

Падобныя артыкулы