Java: редактирование веб-страниц перед их загрузкой в ​​веб-браузер - PullRequest
1 голос
/ 17 августа 2011

Я делаю программу блокировки рекламы на Java.

Короче говоря, я хочу, чтобы моя программа вставляла JavaScript в любую загруженную веб-страницу независимо от того, в какой браузер она загружена.

Немного более информативно:

Я пытаюсь найти способ добавить JavaScript (блокирует рекламу) на веб-страницу до ее загрузки.

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

Примером того, что я пытаюсь сделать, является "ad muncher"

Ответы [ 3 ]

2 голосов
/ 17 августа 2011

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

Чтобы создать прокси-сервер, вам нужно немного узнать о сети и о HTTP, я всегда находил официальные руководства Sun (Oracle) по Java для обучения полезными, когда дело доходит до сети

1 голос
/ 17 августа 2011

Похоже, вам нужно, чтобы он работал как веб-прокси (например, Privoxy ) или что-то еще более низкого уровня в сетевом стеке. Я не думаю, что есть другой способ подключиться ко всем веб-браузерам. И это, скорее всего, не будет работать с HTTPS (который был специально разработан для того, чтобы люди, находящиеся в сети, не связывались с содержимым).

0 голосов
/ 17 августа 2011

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

Некоторые указатели

  1. http://javaboutique.internet.com/tutorials/Servlet_Filters/
  2. http://www.oracle.com/technetwork/java/filters-137243.html
...