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 allocCtx થી allocator વારસામાં લે છે. બીજા parent થી બનાવેલ context તે વિકલ્પ વિના બીજું બ્રાઉઝર બનાવી શકે છે.

proxy URL એક HTTP listener ઓળખે છે; જાહેર ઉમેદવારો HTTP proxy યાદીમાં ઉપલબ્ધ છે; પૃષ્ઠ HTTPS લક્ષ્ય જ રહે છે. ProxyServer Chromium ના --proxy-server ફ્લેગ સાથે મેપ થાય છે, Go ના net/http proxy રૂપરેખાંકન સાથે નહીં.

Chromium હસ્તચાલિત proxy URL માં એમ્બેડ કરેલું username/password સ્વીકારતું નથી. પ્રમાણિત endpoint માટે સમર્થિત બ્રાઉઝર પ્રમાણીકરણ અથવા મધ્યસ્થ વ્યવસ્થા જરૂરી છે; આ ફ્લેગમાં user:password ઉમેરવું HTTP client URL પ્રમાણીકરણ સમાન નથી. Chrome નો CDP પ્રમાણીકરણ ઇવેન્ટ પ્રવાહ ધ્યેય proxy પડકાર સંભાળવા માટે સમર્થિત માર્ગોમાંનો એક છે.

બ્રાઉઝરનું કામ પૂરું ન થાય ત્યાં સુધી allocator ને જીવંત રાખો. તેનું રદ કરવું પણ પ્રક્રિયા સફાઈનો ભાગ છે, જ્યારે tab રદ કરવું સંબંધિત બ્રાઉઝર context ની મર્યાદા નક્કી કરે છે.

સંબંધિત લેખો