JS и puppeteer. Мониторинг и управление POST\GET запросами
Добрый день. Мне необходимо написать мониторинг сетевого трафика на JS с помощью puppeteer.
Скрипт работает в режиме браузера, и должен уметь управлять трафиком в режиме реального времени. В данном скрипте должны быть реализованы следующие функции. 1) Чтение пост запросов. Пусть у нас будет массив из URL адресов, которые надо проверять. При поступлении post запроса, делаем проверку, принадлежит ли его URL заданному массиву, если да, тогда мы создаем массив, в который упаковываем - URL, Заголовк, Ответ и выводим в консоль.лог. 2) Отправка пост запросов от лица браузера. Он должен принимать массив вида (пункт1) и отправлять его, отслеживывать ответ и выводить в массиве вида (пункт 1) в консоль.лог 3) Обрабатывать гет запросы. (Правильно запрета) Примеры - если подгружается .png, тогда мы блокируем этот запрос, или если тип content-type - музыка\мп3, или url содержит ("_offer_") 4) Обрабатывать гет запросы. Правило разрешения (Пример - Если подгружается что-то с ссылки ...), тогда пропускаем. 5) Подмена пост запроса (На данный момент эта функция не актуальная, не знаю, пригодится ли). Было бы хорошо услышать комментарии о возможности реализации. Необходимо менять тело запроса. По каким-то критериям перехватывать запрос, идущий от браузера, чтобы можно было на основе каких-то правил, поменять это тело запроса. Ответ аналогично пункту 1 записываем в массив, только добавив в него первоначальный запрос. П.с. Массив делаем ассциативный. Так-же понадобится решить вопрос с куками, разрешить браузеру их принимать, записать в файл и при начале работы - использовать их (прочесть) Дальнешие доработки - уже будем обсуждать после использования и сбора данных с помощью этого скрипта. Спасибо. |
1. Каким образом должна инициализироваться отправка запросов из п.2?
2. Пункт 4 лично я вообще не понял. Ну и добавьте информацию о Вашем бюджете. |
Цитата:
По второму Вашему вопросу. Все просто. Первоначально проверяем правила разрешения, а в елсиф (образно), case и т.д. делаем уже проверку по черному списку (пункт 3). Если Пакет удволетворяет правилам обработки по белому списку, то по черному уже не проверяется. По бюджету - я первый раз сталкиваюсь с JS языком. Если есть предложения - то напишите в личку. |
Часовой пояс GMT +3, время: 18:38. |