chromedp.ProxyServer خيار لإطلاق المتصفح. طبّقه على المخصِّص الذي ينشئ عملية 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. وأي سياق يُنشأ من أصل آخر يمكنه إنشاء متصفح مختلف بدون هذا الخيار.

يحدد عنوان الوكيل مستمع HTTP، والمرشحات العامة متاحة في قائمة وكلاء HTTP؛ وتبقى الصفحة وجهة HTTPS. يُترجم ProxyServer إلى علم Chromium ‏--proxy-server، وليس إلى إعداد الوكيل في net/http الخاص بـ Go.

لا يقبل Chromium بيانات اسم المستخدم وكلمة المرور المضمّنة في عنوان وكيل يدوي. تحتاج نقطة النهاية الموثَّقة إلى مصادقة متصفح مدعومة أو ترتيب وسيط؛ وإضافة user:password إلى هذا العلم لا تعادل مصادقة عنوان URL في عميل HTTP. ويُعدّ تدفق أحداث المصادقة في CDP في Chrome أحد المسارات المدعومة لمعالجة تحدّي الوكيل المقصود.

أبقِ المخصِّص حيًّا حتى يكتمل عمل المتصفح. وإلغاؤه جزء من تنظيف العملية، بينما يحدد إلغاء التبويب نطاق سياق المتصفح المرتبط.

مقالات ذات صلة