Как перехватить HTTP-вызовы из приложения?

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

  •  03-07-2019
  •  | 
  •  

Вопрос

Я хочу отслеживать все HTTP-запросы, исходящие из определенного приложения, и при необходимости отменить их.

Есть ли способ сделать это на С#?

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

Решение

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

Если вы просто хотите создать профиль, есть готовый инструмент, который ведет себя следующим образом и очень удобен: Скрипач.

В противном случае вам придется углубиться в сетевой стек и реализовать что-то вроде сниффера/брандмауэра, например, используя WinPcap.Это намного сложнее сделать.

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

Если вы работаете с Windows, вы можете перехватить вызовы API WinInet и делать с ними все, что захотите.

ФриКап (или его коммерческая версия WideCap) делает это:позволяет отправлять TCP-трафик через прокси-сервер.Этот прокси-сервер может затем выполнять фильтрацию (например, Скрипач).

Я знаю, что это добавляет в систему больше автономных приложений, но это работает.

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