باستخدام C # WebClient مع وكيل - لم يتم تقديم طلب للخادم الوكيل؟
-
27-10-2019 - |
سؤال
لدينا عملية في الخلفية (خدمة Window) نريد استخدامها من خلال خادم وكيل.
في الأساس ، نحن نفعل هذا: Genacodicetagpre
الخادم الوكيل هو خادم قمنا بتكوينه بأنفسنا باستخدام FreeProxy .
لقد قمت بتمكين التسجيل وعلى الجهاز الذي أختبر به ، ويمكنني التأكيد على أنه يتم إرسال الطلبات إلى الوكيل عند استخدامه في Firefox.
لا توجد مصادقة مطلوبة للخادم الوكيل ، باستثناء أن عنوان IP يجب أن يكون داخل مكتبنا (والذي أفترض من دليل Firefox أنه ليس المشكلة).
ومع ذلك ، في إطار عملية الخلفية لدينا ، يبدو أنني لا أستخدم الوكيل عند استخدام عميل الويب: Genacodicetagpre
لم أتلق أي أخطاء من الوكيل ، ومع ذلك ، يبدو أننا نواصل العمل بدونه على الرغم من تعيين الوكيل صراحة.
يبدو أن المعلومات تعود بشكل جيد ، ليس من خلال وكيلنا.
هل أفقد شيئًا عند استخدام وكيل برمز ترميز عام؟
تعديل: مزيد من التفاصيل. إذا قمنا بتعطيل خدمة الوكيل على الخادم ، فسنحصل على استثناء لا يمكننا الاتصال به. لذلك يبدو أن عميل الويب يحاول الوصول إلى الخادم الوكيل ، لكن حركة المرور هذه لا تتدفق فعليًا عبر الوكيل. Genacodicetagpre
المحلول
اتضح أن FreeProxy لم يكن يقبل حركة مرور HTTPS.
أعتقد أنه يجب على الخادم الوكيل إعادة أنواع حركة المرور التي يمكنه توجيهها ، وإذا لم يتمكن من ذلك ، فلن يفعل عميل الويب شيئًا.
تم التبديل إلى استخدام مجموعة Burp كوكيل لنا حيث يمكنها قبول HTTPS.
نصائح أخرى
يتعين عليك إما تكوين النوافذ لاستخدام الوكيل افتراضيًا ، أو تعيين الوكيل يدويًا في التعليمات البرمجية ، راجع: http://msdn.microsoft.com/en-us/library/system.net.webclient.proxy (v= VS.100) .aspx
إنك تستخدم فئة WebClient بشكل صحيح بقدر ما أستطيع أن أقول.يمكنني رؤية الطلب التالي ... Genacodicetagpre
في Fiddler يعمل على صندوقي المحلي.الآن إذا أغلقت Fiddler ، فسأحصل على WebException:
Genacodicetagpreمع استثناء داخلي للمقبس: Genacodicetagpre
لذلك ، مع ذلك ، أعتقد أن وكيلك يعمل بالشكل المقصود ولكنه لا يقوم فقط بتسجيل طلب HTTP الصادر.