chromedp.ProxyServer је опција покретања прегледача. Примените је на allocator који ствара процес 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 наслеђује allocator из allocCtx. Контекст направљен од другог родитеља може створити други прегледач без те опције.

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

Chromium не прихвата корисничко име и лозинку уграђене у ручно задати proxy URL. Аутентификована крајња тачка захтева подржану аутентификацију прегледача или посредничко решење; додавање user:password овом флагу није једнако аутентификацији URL-а у HTTP клијенту. Chrome-ов ток CDP догађаја аутентификације један је од подржаних начина за решавање предвиђеног proxy изазова.

Држите allocator живим док се рад прегледача не заврши. Његово отказивање такође је део чишћења процеса, док отказивање картице ограничава повезани контекст прегледача.

Повезани чланци