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-ін шектейді.

Қатысты мақалалар