2008-09-26 4 views
2

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

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

Могу ли я получить HTTP-специфическую информацию от WinpCap?

ответ

2

Попробуйте winpcap. Это комбинация драйвера/библиотеки, которая может использоваться для мониторинга пакетов. Основываясь на том, что вы пытаетесь сделать (смотреть трафик без пользовательского интерфейса), это, вероятно, более простое решение, чем создание собственного прокси.

0

Вы изучали реализацию Http-модуля или Http-обработчика (.ashx)? Они позволят вам перехватывать каждый веб-запрос и обрабатывать их, как вам нужно, прежде чем попасть на вашу страницу.

+0

Это запросы для сторонних сайтов – 2008-09-26 04:52:47

1

Для этого есть множество приложений. Моя рекомендация Wireshark

2

Возможно, вы не захотите прокси-сервера, который представит много ненужной сложности.

Рассмотрите пакет sniffing вместо этого, что в значительной степени решает проблему. Wireshark удобен как автономная утилита, которую вы можете использовать вручную, но также можно программно обманывать пакеты, используя WinPcap, библиотеку, на которой основан Wireshark. Вот несколько примеров WinPcap в .Net, .NetNomad's example with sample project и a CodeProject tutorial, также с исходным кодом.