2008-09-26 2 views
3

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

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

ответ

3

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

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

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

НТН !, Ричард

+0

Я мог бы просто идти вперед и размышлять над Фидлер. Благодарю. –