Tetapkan ProxyServer chromedp pada ExecAllocator
Cipta konteks pelayar daripada ExecAllocator yang membawa ProxyServer supaya proses Chromium yang dimaksudkan menerima bendera proksinya.
chromedp.ProxyServer ialah pilihan pelancaran pelayar. Gunakannya pada allocator yang mencipta proses 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/"),
)
Kod ini tergolong dalam fungsi sedia ada aplikasi, dengan pengendalian ralat biasa untuk err. NewContext mewarisi allocator daripada allocCtx. Konteks yang dibuat daripada induk lain boleh mencipta pelayar berbeza tanpa pilihan itu.
URL proksi mengenal pasti pendengar HTTP; calon awam tersedia dalam senarai proksi HTTP; halaman itu kekal sebagai destinasi HTTPS. ProxyServer memetakan kepada bendera --proxy-server Chromium, bukan konfigurasi proksi net/http Go.
Chromium tidak menerima nama pengguna dan kata laluan yang tertanam dalam URL proksi manual. Titik akhir yang disahkan memerlukan pengesahan pelayar yang disokong atau susunan perantara; menambah user:password pada bendera ini tidak setara dengan pengesahan URL klien HTTP. Aliran peristiwa pengesahan CDP Chrome ialah salah satu laluan yang disokong untuk menangani cabaran proksi yang dimaksudkan.
Kekalkan allocator hidup sehingga kerja pelayar selesai. Pembatalannya juga sebahagian daripada pembersihan proses, manakala pembatalan tab mengehadkan konteks pelayar berkaitan.