chromedp-in ProxyServer-ını ExecAllocator-da qurun
Brauzer context-ini ProxyServer daşıyan ExecAllocator-dan yaradın ki, nəzərdə tutulan Chromium prosesi öz proxy flagını alsın.
chromedp.ProxyServer brauzerin işə salınması seçimidir. Onu Chromium prosesini yaradan allocator-a tətbiq edin:
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 tətbiqin mövcud funksiyasında, err üçün adi xəta idarəsi ilə yerləşməlidir. NewContext allocator-u allocCtx-dən miras alır. Başqa valideyndən yaradılan context bu seçim olmadan fərqli brauzer yarada bilər.
Proxy URL-si HTTP dinləyicisini müəyyən edir; ictimai namizədlər HTTP proxy siyahısında mövcuddur; səhifə isə HTTPS hədəfi olaraq qalır. ProxyServer Chromium-un --proxy-server flagına uyğun gəlir, Go-nun net/http proxy konfiqurasiyasına deyil.
Chromium əl ilə verilən proxy URL-sinə daxil edilmiş istifadəçi adı və parol qəbul etmir. Autentifikasiyalı endpoint üçün dəstəklənən brauzer autentifikasiyası və ya vasitəçi tənzimləmə lazımdır; bu flaga user:password əlavə etmək HTTP müştəri URL autentifikasiyası ilə eyni deyil. Chrome-un CDP autentifikasiya hadisə axını nəzərdə tutulan proxy çağırışını idarə etmək üçün dəstəklənən yollardan biridir.
Brauzer işi bitənə qədər allocator-u canlı saxlayın. Onun ləğvi də proses təmizliyinin tərkib hissəsidir, tab ləğvi isə əlaqəli brauzer context-inin əhatəsini müəyyən edir.