Ответ 1
Таким образом, в основном, как идентифицировал @BrockAdams, в зависимости от требований существует несколько решений этих проблем, и они следуют либо из 1 из 2 методов.
- API-интерфейс браузера.
- Перехват на основе прокси-сервера.
API-интерфейс браузера API. Оба браузера Firefox и Chrome поддерживают расширения браузера, которые могут использовать API-интерфейсы платформы для регистрации обработчиков событий для "onbeforeload" или "onBeforeRequest" в случае firefox и chrome соответственно. В настоящее время хром API являются экспериментальными, поэтому эти инструменты, скорее всего, будут лучше развиваться под firefox. 2 инструмента, которые определенно делают что-то вроде того, что требуется, AdBlock plus и Jsdeminifier, оба из которых имеют исходный код.
Ключевым моментом для этих 2 приложений firefox является то, что они перехватывают веб-запрос до того, как браузер получит его на себя и оперирует с другой стороны этапа HTTP/https encrpytion, следовательно, он может видеть дешифрованный ответ, однако, как указано в в другом сообщении, что они ничего не делают, хотя jsdeminifier был очень полезен, я не нашел плагин firefox, чтобы делать именно то, что я хотел, но я вижу из этих предыдущих плагинов, что это возможно как с Firefox, так и с хром. Хотя они на самом деле не делают трюк по мере необходимости.
Перехват перехвата на основе прокси-сервера Это, безусловно, лучший вариант в простой HTTP-среде, есть целая куча прокси-серверов, таких как pivoxy, fiddler2, прокси-сервер Charles Web HTTP и, предположительно, некоторые из них, на которые я не смотрел конкретно такие, как snort, которые поддерживают некоторую фильтрацию.
Простейшим решением для себя было foxyproxy и privoxy на firefox, а также настроить user.action и user.filter, чтобы обнаружить URL-адрес страницы, а затем применить фильтр, который поменял оригинальный тег src, для моего собственного один.
Случай https. proxy vs plugin Когда запрос https, прокси не может видеть URL-адрес запроса или тело ответа, поэтому он не может делать классный обмен. Однако есть один вариант для тех, кто любит общаться со своим браузером. И это посредник SSL-посредника. Основным решением этой проблемы является Charles Web HTTP proxy. В основном, как это работает, когда ваш браузер делает запрос на удаленный HTTPS-сервер, прокси-сервер ssl перехватывает запрос и с IP-адреса сервера генерирует сертификат сервера "на лету", который он подписывает со своим собственным корневым центром сертификации, и отправляется обратно в браузер. Браузер явно жалуется на самозаверяющий сертификат, но здесь вы можете выбрать установку корневого сертификата CA ssl proxy в браузере, одурманить браузер и разрешить прокси-серверу ssl человеку посередине и произвести замену и фильтры на исходном ответе тела.
Альтернативный ролик собственного расширения хрома Я решил пойти со своим собственным хромовым расширением, которое я планирую сделать доступным. В настоящее время он очень жестко привязан к моим собственным требованиям, но он работает очень хорошо, даже для запросов https, и еще одно преимущество в том, что решение для плагинов для браузера может быть более тесно интегрировано с инструментами разработчика браузера.