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

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

Вопрос

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

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

Могу ли я легко получить информацию, относящуюся к HTTP, из WinPcap?

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

Решение

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

Другие советы

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

Рассмотреть нюхание пакета вместо этого, что в значительной степени является решаемой проблемой. Проволочная Колючка удобен как автономная утилита, которую можно использовать вручную, но также возможно выполнять перехват пакетов программно, используя WinPcap, библиотеку, на которой основан Wireshark.Вот пара примеров WinPcap в .Net, .пример NetNomad с образцом проекта, и учебное пособие по разработке кода, также с исходным кодом.

Для этого существует множество приложений.Моя рекомендация такова Проволочная Колючка

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

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