بعد أن أصبح go-ieproxy متاحاً ولا يزال الناقل الافتراضي القياسي مثبتاً، اربط دالة الوكيل الواعية بالطلب:

transport := http.DefaultTransport.(*http.Transport).Clone()
transport.Proxy = ieproxy.GetProxyFunc()
client := &http.Client{
    Transport: transport,
    Timeout: 30 * time.Second,
}

استورد net/http وtime وgithub.com/mattn/go-ieproxy، واجعل طلبات عبء العمل تمر عبر client. يتطلب تأكيد النوع أن يبقى DefaultTransport من نوع http.Transport.

يغطي GetProxyFunc الإعدادات الثابتة وبرنامج نصي صريح للتكوين التلقائي والاكتشاف التلقائي الكامل. يستخدم بحثه في Windows تكوين المستخدم الحالي، ويعود إلى السجل إذا فشل نداء واجهة برمجة التطبيقات الأول.

يختار OverrideEnvWithStaticProxy خياراً مختلفاً: فهو يصدّر الإعدادات اليدوية ولا يستطيع الحفاظ على القرارات التلقائية لكل وجهة. استخدم ذلك التحويل فقط لسياسة ثابتة عن قصد.

بالنسبة لخدمة Windows، قد يختلف المستخدم الحالي عن مستخدم سطح المكتب الذي يعمل متصفحه. تحقق من حساب الخدمة والوجهة الفعلية عند مقارنة النتيجة. الاكتشاف يقدم مرشح مسار، وليس مصادقة أو ضماناً بأن نقطة النهاية قابلة للوصول.

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