Наладзіць ProxyServer у chromedp на ExecAllocator
Стварыце кантэкст браўзера з ExecAllocator, які нясе ProxyServer, каб патрэбны працэс Chromium атрымаў свой сцяг проксі.
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 — адзін з падтрыманых шляхоў для апрацоўкі мэтавага выкліку проксі.
Трымайце алкатар жывым, пакуль праца браўзера не завершыцца. Яго скасаванне таксама ўваходзіць у ачыстку працэсу, а скасаванне таба абмяжоўвае адпаведны кантэкст браўзера.