chromedp.ProxyServer हा ब्राउझर सुरू करण्याचा पर्याय आहे. तो Chromium प्रक्रिया तयार करणाऱ्या allocator वर लागू करा:

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 कडून वारसाहक्काने घेतो. दुसऱ्या 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 मर्यादित करते.

संबंधित लेख