هل هناك أي طريقة في .NET للاستماع إلى حركة مرور HTTP برمجيًا؟

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

سؤال

أنا أستخدم أتمتة المتصفح لاختبار مواقع الويب ولكني بحاجة إلى التحقق من طلبات HTTP من المتصفح (أي الصور والبرامج النصية الخارجية وكائنات XmlHttpRequest).هل هناك طريقة لإنشاء وكيل برمجيًا ليستخدمه المتصفح لمعرفة ما يرسله؟

أنا أستخدم Fiddler بالفعل لمشاهدة حركة المرور ولكني أريد شيئًا أقل واجهة مستخدم يمكنني استخدامه في تكامل البناء المستمر.

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

المحلول

لقد بحثت لفترة وجيزة في نفس الشيء وفكرت في حلين (لكن لم أجربهما بعد).

الاقتراح الأول الذي سأقدمه هو استخدام فئة HttpListener (وربما Webclient أو الفئات الأخرى ذات الصلة بـ System.Net http لإعادة إرسال الطلبات إلى التطبيق الخاص بك) كوكيل لاستدعاءات اختبار WebBrowser.ليست لدي أي خبرة في استخدام HttpListener، لكنها تبدو طريقة بسيطة وواعدة لنقل المكالمات عبر تطبيقك.

الاقتراح الثاني الذي لدي هو أن أفعل ما يفعله Fiddler:انقر فوق مكدس WinINET Http الموجود على جهاز الاختبار الخاص بك ليكون بمثابة وكيل (مع نوع من المرشحات لتضييق نطاقه إلى مكالمات WebBrowser فقط).ولسوء الحظ، فإن أفضل مثال على ذلك تمكنت من العثور عليه هو Fiddler نفسه والطريقة الوحيدة التي أعرفها للحصول على الكود هي Reflector.قد يكون من الممكن الوصول إلى رمز وكيل Fiddler بطريقة أخرى، لكن لم يكن لدي الوقت الكافي للتحقيق في هذا المسار بشكل كامل.

هول! ، ريتشارد

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