Прослушивание определенного приложения с использованием C# и FiddlerCore
Я пытаюсь интегрировать управление веб-браузером C# и Fiddler Core. Я не хочу этого делать, позволяя Fiddler Core прослушивать элемент управления веб-браузера, не затрагивая ни интернет-обозреватель, ни другие интернет-браузеры.
Диаграмма ниже должна показать, чего я хочу достичь:
Internet Explorer -> Internet
Chrome -> Internet
Other Browsers -> Internet
Web Browser Control (Custom C# App) -> Fiddler Core -> Internet
Четыре экземпляра, приведенные ниже, должны работать параллельно без вмешательства ядра Fiddler в другие браузеры. Поэтому, если я не хочу изменять HTML-код ответа в своем пользовательском приложении, это не повлияет на другие браузеры.
Я уже давно ищу в Google, но не вижу конкретного примера, чтобы начать.
Заранее спасибо, ребята, любая помощь будет принята с благодарностью.
1 ответ
FiddlerCore предоставляет информацию о вызывающем процессе в каждом сеансе X-ProcessInfo
флаг.
По умолчанию FiddlerCore регистрируется как системный прокси, и большинство приложений автоматически направляют свой трафик через него.
Если вы хотите захватывать трафик только из одного приложения, выполните следующие шаги:
- Не регистрируйтесь как системный прокси при звонке
.Startup
, - Параметры прокси-сервера целевого приложения должны указывать на порт FiddlerCore.
Теперь № 1 тривиален, но № 2 сложнее и полностью зависит от того, какой сетевой код использует целевое приложение. Вы упомянули, что целевое приложение - это пользовательское приложение C#, на котором размещается элемент управления.NET Web Browser (который является просто IE). Если это так, и если приложение также содержит FiddlerCore, то вам нужно только позвонить
Fiddler.URLMonInterop.SetProxyInProcess("127.0.0.1:8889", String.Empty);
... внутри вашего приложения.