ExecAllocator मा chromedp को ProxyServer सेट गर्नुहोस्
ProxyServer बोकेको ExecAllocator बाट ब्राउजर context बनाउनुहोस् ताकि इच्छित Chromium प्रक्रियाले आफ्नो proxy फ्ल्याग पाओस्।
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 सीमित हुन्छ।