Есть ли способ .NET для программного прослушивания HTTP-трафика? - PullRequest
3 голосов
/ 26 сентября 2008

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

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

1 Ответ

3 голосов
/ 26 сентября 2008

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

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

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

НТН !, Ричард

...