Есть ли в .NET какой-либо способ программно прослушивать HTTP-трафик?

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

Вопрос

Я использую автоматизацию браузера для тестирования веб-сайтов, но мне нужно проверять HTTP-запросы из браузера (т. Е. изображения, внешние скрипты, объекты XMLHttpRequest).Есть ли способ программно создать экземпляр прокси-сервера для использования браузером, чтобы увидеть, что он отправляет?

Я уже использую Fiddler для отслеживания трафика, но мне нужно что-то без пользовательского интерфейса, что я мог бы использовать при непрерывной интеграции сборки.

Это было полезно?

Решение

Я кратко рассмотрел то же самое и рассмотрел два решения (но еще не пробовал их).

Первое предложение, которое у меня есть, было бы использовать класс HttpListener (и, возможно, Webclient или другую систему.Классы, связанные с Net http, для повторной отправки запросов в ваше приложение) в качестве прокси-сервера для тестовых вызовов WebBrowser.У меня нет опыта работы с HttpListener, но это выглядит как простой и многообещающий способ передавать вызовы через прокси в ваше приложение.

Второе предложение, которое у меня есть, - это делать то, что делает Fiddler:используйте Http-стек WinInet на вашем тестовом компьютере в качестве прокси-сервера (с каким-нибудь фильтром, который сузит его до вызовов вашего веб-браузера).К сожалению, лучший пример этого, который я смог найти, - это сам Fiddler, и единственный известный мне способ получить код - это Reflector.Возможно, можно было бы добраться до кода прокси-сервера Fiddler другим способом, но у меня не было времени полностью изучить этот путь.

ПРИВЕТ!, Ричард

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top