Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.04.2023, 20:51
QuZ QuZ вне форума
Новичок на форуме
Отправить личное сообщение для QuZ Посмотреть профиль Найти все сообщения от QuZ
 
Регистрация: 03.04.2023
Сообщений: 8

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

5) Подмена пост запроса (На данный момент эта функция не актуальная, не знаю, пригодится ли). Было бы хорошо услышать комментарии о возможности реализации. Необходимо менять тело запроса. По каким-то критериям перехватывать запрос, идущий от браузера, чтобы можно было на основе каких-то правил, поменять это тело запроса. Ответ аналогично пункту 1 записываем в массив, только добавив в него первоначальный запрос.

П.с. Массив делаем ассциативный.

Так-же понадобится решить вопрос с куками, разрешить браузеру их принимать, записать в файл и при начале работы - использовать их (прочесть)

Дальнешие доработки - уже будем обсуждать после использования и сбора данных с помощью этого скрипта.
Спасибо.

Последний раз редактировалось QuZ, 08.04.2023 в 20:53.
Ответить с цитированием
  #2 (permalink)  
Старый 08.04.2023, 21:51
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,726

1. Каким образом должна инициализироваться отправка запросов из п.2?
2. Пункт 4 лично я вообще не понял.

Ну и добавьте информацию о Вашем бюджете.
Ответить с цитированием
  #3 (permalink)  
Старый 08.04.2023, 22:15
QuZ QuZ вне форума
Новичок на форуме
Отправить личное сообщение для QuZ Посмотреть профиль Найти все сообщения от QuZ
 
Регистрация: 03.04.2023
Сообщений: 8

Сообщение от Nexus Посмотреть сообщение
1. Каким образом должна инициализироваться отправка запросов из п.2?
2. Пункт 4 лично я вообще не понял.

Ну и добавьте информацию о Вашем бюджете.
По Вашему первому вопросу. На данный момент - это будет предподготовленный шаблон, в котором буду генерировать отладочные запросы или отсылать шаблонные заготовки. В дальнейшем или на JS напишу обработчики по их генерации или просто будут приходить извне в виде запроса, который надо будет распарсить (на заголовок и тело) и отправить.

По второму Вашему вопросу. Все просто. Первоначально проверяем правила разрешения, а в елсиф (образно), case и т.д. делаем уже проверку по черному списку (пункт 3). Если Пакет удволетворяет правилам обработки по белому списку, то по черному уже не проверяется.

По бюджету - я первый раз сталкиваюсь с JS языком. Если есть предложения - то напишите в личку.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработчик тестов Puppeteer (Node js) rogerward2526 Работа 2 22.09.2020 22:53
Ищу специалист node js + puppeteer rogerward2526 Работа 1 01.08.2020 22:22
Диалог между HTML и внешним JS в контексте расширения GoogleChrome ev1lart Events/DOM/Window 0 26.04.2017 19:25
Управление CSS через JS (Sandr) Общие вопросы Javascript 3 16.03.2012 12:22
Управление клипами .mov с помощью js 25mute Элементы интерфейса 1 05.03.2011 09:36