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 سے ورثے میں لیتا ہے۔ کسی دوسرے parent سے بنایا گیا context اُس اختیار کے بغیر مختلف براؤزر بنا سکتا ہے۔

proxy URL ایک HTTP سننے والے کی نشاندہی کرتا ہے؛ عوامی امیدوار HTTP proxy فہرست میں دستیاب ہیں؛ صفحہ HTTPS منزل ہی رہتا ہے۔ ProxyServer Chromium کے --proxy-server جھنڈے سے مطابقت رکھتا ہے، Go کی net/http proxy ترتیب سے نہیں۔

Chromium دستی proxy URL میں شامل صارف نام اور پاس ورڈ قبول نہیں کرتا۔ تصدیق شدہ endpoint کے لیے معاون براؤزر تصدیق یا درمیانی انتظام درکار ہے؛ اس جھنڈے میں user:password شامل کرنا HTTP کلائنٹ URL تصدیق کے برابر نہیں۔ Chrome کا CDP تصدیق واقعہ بہاؤ مطلوبہ proxy چیلنج سے نمٹنے کا ایک معاون طریقہ ہے۔

allocator کو اُس وقت تک زندہ رکھیں جب تک براؤزر کا کام مکمل نہ ہو۔ اس کی منسوخی بھی عمل کی صفائی کا حصہ ہے، جبکہ tab کی منسوخی متعلقہ براؤزر context کو محدود کرتی ہے۔

متعلقہ مضامین