باستخدام C # WebClient مع وكيل - لم يتم تقديم طلب للخادم الوكيل؟

StackOverflow https://stackoverflow.com/questions/7830939

سؤال

لدينا عملية في الخلفية (خدمة Window) نريد استخدامها من خلال خادم وكيل.

في الأساس ، نحن نفعل هذا: Genacodicetagpre

الخادم الوكيل هو خادم قمنا بتكوينه بأنفسنا باستخدام FreeProxy .

لقد قمت بتمكين التسجيل وعلى الجهاز الذي أختبر به ، ويمكنني التأكيد على أنه يتم إرسال الطلبات إلى الوكيل عند استخدامه في Firefox.

لا توجد مصادقة مطلوبة للخادم الوكيل ، باستثناء أن عنوان IP يجب أن يكون داخل مكتبنا (والذي أفترض من دليل Firefox أنه ليس المشكلة).

ومع ذلك ، في إطار عملية الخلفية لدينا ، يبدو أنني لا أستخدم الوكيل عند استخدام عميل الويب: Genacodicetagpre

لم أتلق أي أخطاء من الوكيل ، ومع ذلك ، يبدو أننا نواصل العمل بدونه على الرغم من تعيين الوكيل صراحة.

يبدو أن المعلومات تعود بشكل جيد ، ليس من خلال وكيلنا.

هل أفقد شيئًا عند استخدام وكيل برمز ترميز عام؟

تعديل: مزيد من التفاصيل. إذا قمنا بتعطيل خدمة الوكيل على الخادم ، فسنحصل على استثناء لا يمكننا الاتصال به. لذلك يبدو أن عميل الويب يحاول الوصول إلى الخادم الوكيل ، لكن حركة المرور هذه لا تتدفق فعليًا عبر الوكيل. Genacodicetagpre

هل كانت مفيدة؟

المحلول

اتضح أن FreeProxy لم يكن يقبل حركة مرور HTTPS.

أعتقد أنه يجب على الخادم الوكيل إعادة أنواع حركة المرور التي يمكنه توجيهها ، وإذا لم يتمكن من ذلك ، فلن يفعل عميل الويب شيئًا.

تم التبديل إلى استخدام مجموعة Burp كوكيل لنا حيث يمكنها قبول HTTPS.

http://portswigger.net/burp/

نصائح أخرى

يتعين عليك إما تكوين النوافذ لاستخدام الوكيل افتراضيًا ، أو تعيين الوكيل يدويًا في التعليمات البرمجية ، راجع: http://msdn.microsoft.com/en-us/library/system.net.webclient.proxy (v= VS.100) .aspx

إنك تستخدم فئة WebClient بشكل صحيح بقدر ما أستطيع أن أقول.يمكنني رؤية الطلب التالي ... Genacodicetagpre

في Fiddler يعمل على صندوقي المحلي.الآن إذا أغلقت Fiddler ، فسأحصل على WebException:

Genacodicetagpre

مع استثناء داخلي للمقبس: Genacodicetagpre

لذلك ، مع ذلك ، أعتقد أن وكيلك يعمل بالشكل المقصود ولكنه لا يقوم فقط بتسجيل طلب HTTP الصادر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top