chromedp ProxyServer'ını ExecAllocator üzerinde ayarlayın
ProxyServer taşıyan ExecAllocator'dan tarayıcı context'ini oluşturun; böylece amaçlanan Chromium süreci proxy bayrağını alır.
chromedp.ProxyServer bir tarayıcı başlatma seçeneğidir. Chromium sürecini oluşturan allocator'a uygulayın:
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, uygulamanın mevcut fonksiyonunda yer almalı ve err için olağan hata işleme yapılmalıdır. NewContext, allocator'ı allocCtx'ten devralır. Başka bir ebeveynden oluşturulan context, bu seçenek olmadan farklı bir tarayıcı oluşturabilir.
Proxy URL'si bir HTTP dinleyicisini tanımlar; genel adaylar HTTP proxy listesinde bulunur; sayfa HTTPS hedefi olarak kalır. ProxyServer, Chromium'un --proxy-server bayrağına karşılık gelir, Go'nun net/http proxy yapılandırmasına değil.
Chromium, elle verilen proxy URL'sine gömülü kullanıcı adı ve parolayı kabul etmez. Kimlik doğrulamalı bir uç nokta, desteklenen bir tarayıcı kimlik doğrulaması veya aracı düzenleme gerektirir; bu bayrağa user:password eklemek, HTTP istemcisinde URL kimlik doğrulamasıyla eşdeğer değildir. Chrome'un CDP kimlik doğrulama olay akışı, amaçlanan proxy meydan okumasını ele almak için desteklenen yollardan biridir.
Tarayıcı işi bitene kadar allocator'ı canlı tutun. İptal edilmesi de süreç temizliğinin parçasıdır; sekmenin iptali ise ilgili tarayıcı context'ini sınırlar.