chromedp.ProxyServer yra naršyklės paleidimo parinktis. Taikykite ją tam allocator, kuris sukuria Chromium procesą:

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/"),
)

Kodas priklauso esamai programos funkcijai, su įprastu klaidų apdorojimu err. NewContext paveldi allocator iš allocCtx. Kontekstas, sukurtas iš kito tėvo, gali sukurti kitą naršyklę be šios parinkties.

Proxy URL nurodo HTTP klausytoją; vieši kandidatai pateikiami HTTP proxy sąraše; puslapis lieka HTTPS paskirties vieta. ProxyServer atitinka Chromium parametrą --proxy-server, o ne Go net/http proxy konfigūraciją.

Chromium nepriima vartotojo vardo ir slaptažodžio, įterptų į rankiniu būdu nurodytą proxy URL. Autentifikuotas galinis taškas reikalauja palaikomo naršyklės autentifikavimo arba tarpininko sprendimo; user:password pridėjimas prie šio parametro nelygu URL autentifikavimui HTTP kliente. Chrome CDP autentifikavimo įvykių srautas yra vienas palaikomų būdų, kaip tvarkyti numatytą proxy iššūkį.

Palaikykite allocator gyvą, kol naršyklės darbas nebus baigtas. Jo atšaukimas taip pat priklauso proceso valymui, o skirtuko atšaukimas apriboja susijusį naršyklės kontekstą.

Susiję straipsniai