Я хочу найти достойное решение для отслеживания URL-адресов и HTML-контента, которые посещают пользователи, и предоставления пользователю дополнительной информации.Решение должно принести минимальное влияние на конечных пользователей.
Я не хочу писать плагины для разных браузеров.Это трудно поддерживать.Я не принимаю метод прокси, так как я не хочу изменять какие-либо настройки прокси пользователя.Мое приложение написано на C # и ориентировано на Windows.Лучше всего, если решение может поддерживать и другие ОС.
Основываясь на своих исследованиях, я нашел следующие методы, которые выглядят для меня подходящими, но все они имеют свои недостатки, я не могу определить, какая из нихbest.
Использование WinPcap WinPcap перехватывает все TCP-пакеты без изменения каких-либо пользовательских настроек, но требует только установки WinPcap, что для меня приемлемо.Но у меня есть два вопроса: а.как конвертировать TCP пакет в URL и HTML б.Это действительно влияет на производительность?Я не знаю, является ли сниффер весь TCP-трафик издержками для этого требования.
Поиск файлов истории для разных браузеров. Этот способ выглядит как упрощенный, но мне интересно, если решение стабильно,Я не уверен, что браузер будет стабильно писать историю и когда он пишет.Мое приложение будет отображать информацию до того, как пользователь покинет текущую страницу.Решение не будет работать для меня, если браузер пишет в файл истории, когда пользователь закрывает браузер.
Используйте FindWindow или объект accessiblity или COM-интерфейс, чтобы найти элемент пользовательского интерфейса, содержащий URL-адрес, который, по моему мнению, не является полным, например, Chrome покажет только URL активной вкладки, но невсе они.Другим недостатком является то, что мне нужно запросить URL-адрес в другой раз, чтобы получить его HTML-контент.
Любые комментарии или предложения приветствуются.Кстати, я не делаю никаких шпионских программ.Приложение пытается найти все RSS-каналы с веб-страницы и показать их конечным пользователям.Я легко могу сделать это в плагине для браузера, но я действительно хочу поддерживать несколько браузеров с одним пользовательским интерфейсом.Спасибо.