Захватывать все запросы и ответы от элемента управления веб-браузера?

Есть ли способ захвата и распечатки всех запросов и ответов от элемента управления веб-браузера, включая асинхронные запросы?

7
задан Kenneth J 17 August 2010 в 15:17
поделиться

2 ответа

Думали ли вы об использовании Fiddler ? У них даже есть API , который вы могли бы использовать для этого.

Редактировать

Вы можете попробовать использовать событие Navigated или LoadCompleted событие для получения информации об ответе. Возможно, вы сможете использовать событие Navigating для запроса информации. Эти события могут происходить с асинхронными запросами, но я не уверен в этом.

Правка наносит ответный удар

Я провел несколько тестов, используя описанные выше события, и, боюсь, ничего не получил. События не давали мне ничего, что я мог бы использовать. Несмотря на то, что у них был доступ к веб-ответам и веб-запросам, в моем тестировании они всегда были ничем / нулевыми.

Я предполагаю, что печальная реальность такова, что элемент управления веб-браузера не предназначался для использования так, как вы хотите. Он предназначен только для обслуживания веб-страниц / данных и не дает вам доступа для просмотра данных. Я думаю, они сделали это как C.Y.A. меры по предотвращению использования вредоносных / шпионских программ в браузере.

Лучше всего будет связать веб-браузер со скрипачом (или какой-нибудь другой библиотекой «сниффинга»).

5
ответ дан 7 December 2019 в 03:09
поделиться

Еще один способ добиться этого — реализовать собственный обработчик асинхронного подключаемого протокола , но это нетривиальная задача. По сути, приложения — это механизм, используемый Internet Explorer для загрузки данных с URL-адреса через URLMON. Вы можете реализовать свое собственное приложение, которое заменяет обработчик по умолчанию, который использует URLMON, что позволит вам контролировать все запросы и ответы.

Вместо замены обработчика по умолчанию вы также можете реализовать APP, который его обертывает. Обычно упоминаемым примером является PassThroughAPP, созданный Игорем Тандетником, который показывает, как можно сделать что-то подобное. Вы также можете найти реализацию C# в этом проекте кода статье. Я считаю, что вас больше всего заинтересует интерфейс IHttpNegotiate и метод OnResponse, который позволяет клиенту проверять заголовки запроса и ответа.

Есть некоторые проблемы с приложением PassThroughApp, которые подробно описаны вместе с возможным решением здесь. Ниже приведены еще несколько ресурсов.

http://support.microsoft.com/?id=kb;en-us;303740 http://www.codeproject.com/KB/aspnet/AspxProtocol.aspx

4
ответ дан 7 December 2019 в 03:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: