chromedp-тің ProxyServer-ін ExecAllocator-ға орнату
ProxyServer-і бар ExecAllocator-дан браузер context-ін жасаңыз, көзделген Chromium процесі өз proxy жалаушасын алсын.
chromedp.ProxyServer — браузерді іске қосу опциясы. Оны Chromium процесін жасайтын allocator-ға қолданыңыз:
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 allocator-ды allocCtx-тен мұралайды. Басқа ата-анадан жасалған context бұл опциясыз басқа браузер жасай алады.
proxy URL HTTP тыңдаушысын анықтайды; жария кандидаттар HTTP proxy тізімінде бар; бет HTTPS мақсаты болып қалады. ProxyServer Chromium-ның --proxy-server жалаушасына сәйкес келеді, Go-ның net/http proxy конфигурациясына емес.
Chromium қолмен берілген proxy URL-ге енгізілген пайдаланушы аты мен құпия сөзді қабылдамайды. Аутентификацияланған соңғы нүктеге қолдау көрсетілетін браузер аутентификациясы немесе делдалдық шешім қажет; бұл жалаушаға user:password қосу HTTP клиентінің URL аутентификациясына тең емес. Chrome-ның CDP аутентификация оқиғалар ағыны көзделген proxy қиындығын шешудің қолдау көрсетілетін жолдарының бірі.
Браузер жұмысы біткенше allocator-ды тірі ұстаңыз. Оны жою да процесті тазалаудың бөлігі, ал қосымша бетті жою тиісті браузер context-ін шектейді.