chromedp.ProxyServer ბრაუზერის გაშვების პარამეტრია. გამოიყენეთ ის allocator-ზე, რომელიც ქმნის 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/"),
)

კოდი უნდა იყოს აპლიკაციის არსებულ ფუნქციაში, err-ისთვის ჩვეულებრივი შეცდომების დამუშავებით. NewContext allocator-ს allocCtx-იდან მემკვიდრეობით იღებს. სხვა მშობლისგან შექმნილ context-ს შეუძლია სხვა ბრაუზერი შექმნას ამ პარამეტრის გარეშე.

proxy URL HTTP მსმენელს განსაზღვრავს; საჯარო კანდიდატები ხელმისაწვდომია HTTP proxy სიაში; გვერდი კვლავ HTTPS დანიშნულებაა. ProxyServer აისახება Chromium-ის --proxy-server დროშაზე და არა Go-ს net/http proxy კონფიგურაციაზე.

Chromium არ იღებს ხელით მითითებულ proxy URL-ში ჩაშენებულ მომხმარებლის სახელსა და პაროლს. ავთენტიფიცირებულ ბოლო წერტილს სჭირდება მხარდაჭერილი ბრაუზერის ავთენტიფიკაცია ან შუამავალი მოწყობა; user:password-ის ამ დროშაზე დამატება არ უდრის HTTP კლიენტის URL ავთენტიფიკაციას. Chrome-ის CDP ავთენტიფიკაციის მოვლენების ნაკადი განზრახული proxy გამოწვევის დასამუშავებლად მხარდაჭერილი გზებიდან ერთია.

შეინარჩუნეთ allocator ცოცხალი, სანამ ბრაუზერის სამუშაო დასრულდება. მისი გაუქმებაც პროცესის გასუფთავების ნაწილია, ხოლო ჩანართის გაუქმება შესაბამის ბრაუზერის context-ს ზღუდავს.

დაკავშირებული სტატიები