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'ин чектейт.