chromedp.ProxyServer on selaimen käynnistysvaihtoehto. Sovella sitä allokaattoriin, joka luo Chromium-prosessin:

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

Koodi kuuluu sovelluksen olemassa olevaan funktioon, tavallisella virheenkäsittelyllä err-muuttujalle. NewContext perii allokaattorin allocCtx:stä. Toisesta vanhemmasta luotu konteksti voi luoda eri selaimen ilman tätä vaihtoehtoa.

Välityspalvelimen URL yksilöi HTTP-kuuntelijan; julkiset ehdokkaat ovat saatavilla HTTP-välityspalvelinluettelossa; sivu pysyy HTTPS-kohteena. ProxyServer vastaa Chromiumin --proxy-server-lippua, ei Go:n net/http-välityspalvelinkokoonpanoa.

Chromium ei hyväksy käsin asetettuun välityspalvelimen URL:iin upotettua käyttäjätunnusta ja salasanaa. Todennusta vaativa päätepiste tarvitsee tuetun selaintodennuksen tai välittäjäjärjestelyn; user:passwordin lisääminen tähän lippuun ei vastaa HTTP-asiakkaan URL-todennusta. Chromen CDP-todennustapahtumavirta on yksi tuettu tapa käsitellä aiottu välityspalvelinhaaste.

Pidä allokaattori elossa, kunnes selaintyö valmistuu. Sen peruutus kuuluu myös prosessin siivoukseen, kun taas välilehden peruutus rajaa siihen liittyvän selainkontekstin.

Aiheeseen liittyvät artikkelit