Перейти к содержимому

Поиск и замена ​

Match & Replace автоматически изменяет трафик при прохождении через прокси, без остановки и ручных действий для каждого запроса.

Как работают правила ​

Каждое правило определяет, что искать и что с этим делать. Когда запрос или ответ соответствует условиям, преобразование применяется немедленно.

Правила применяются в порядке списка. Если два правила меняют один заголовок, сначала применяется первое подходящее правило, а последующие видят результат изменения.

Поля правила ​

ПолеОписание
ИмяМетка правила. Выберите содержательное имя, объясняющее назначение.
НаправлениеПрименение к запросам, ответам или обоим
ОперацияВыполняемое преобразование (см. таблицу ниже)
Режим совпаденияБуквальный, регулярное выражение или всё содержимое — в зависимости от операции
Значение поискаИскомая строка или шаблон
Значение заменыПодставляемое значение
ВключеноАктивация или деактивация без удаления
ФильтрыНеобязательные условия метода, хоста, пути и HTTPQL, ограничивающие применение

Операции ​

ОперацияДействие
Добавить заголовокДобавляет заголовок с фиксированными именем и значением
Удалить заголовокУдаляет заголовок по имени
Заменить заголовокЗаменяет значение существующего заголовка
Заменить телоЗаменяет часть тела по значению поиска
Путь / строка запроса / параметрМеняет путь или значения параметров запроса
Строка запроса / ответаМеняет выбранную часть стартовой строки HTTP
Код статусаМеняет статус ответа
Сообщение в полном HTTP-форматеПреобразует стартовую строку, заголовки и тело HTTP вместе
Данные WebSocketЗаменяет подходящее содержимое сообщений клиента или сервера
Рабочий процессЗапускает включённый рабочий процесс Convert для выбранного содержимого

Режимы совпадения ​

Точный текст ищет точную строку. Подходит для фиксированных токенов, имён заголовков и конкретных значений.

Регулярное выражение ищет совпадение по регулярному выражению. Подходит для меняющейся цели: например, токена каждой новой сессии или захвата группы для повторного использования в замене.

В заменах по регулярному выражению используйте группы захвата $1, $2 и т. д. для ссылки на совпавшие части.

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

Преобразование полного тела ответа ​

  1. Создайте и включите рабочий процесс Convert, затем проверьте его на тестовых данных.
  2. Создайте правило Match & Replace с направлением Ответ и операцией Сценарий (тело сообщения).
  3. Выберите режим Целиком и рабочий процесс.
  4. Ограничьте правило фильтром HTTPQL, например:
text
req.host.eq:"cdn.example.com" AND (req.path.cont:".js" OR resp.headers["Content-Type"].value.cont:"javascript")

Рабочий процесс получает всё тело; его вывод заменяет тело. Сценарий (заголовок) преобразует именованный заголовок, а Сценарий (исходные заголовки) — блок заголовков. Эти операции получают другие входные данные, а не тело ответа.

Фильтры HTTPQL проверяются в доступном контексте запроса и ответа. Правило направления запроса не может опираться на ещё не полученный ответ. Отключайте журналирование рабочего процесса при большом числе запусков; временно включайте его для диагностики преобразования.

Изменение порядка правил ​

Перетащите строку правила на нужное место. Порядок важен, если правила меняют пересекающиеся части одного запроса или ответа.

Помощь ИИ ​

Нажмите Помощь ИИ в редакторе правила и опишите изменение обычным языком. Ogma создаст поля правила по описанию. Проверьте и скорректируйте значения перед включением.

Примеры подходящих запросов:

  • «Удалить заголовок X-Frame-Options из всех ответов»
  • «Заменить значение заголовка Authorization моим тестовым токеном»
  • «Добавить заголовок X-Debug со значением true ко всем запросам»

Проверка правила ​

Перед включением для живого трафика проверьте правило на примере запроса:

  1. Откройте редактор правила.
  2. Вставьте запрос в полном HTTP-формате в раздел Панель проверки.
  3. Нажмите Применить правила. Панель покажет результат и применённые правила.
  4. Убедитесь, что вывод соответствует ожиданиям.
  5. Включите правило.

На панели теста также есть цель Ответ с полями статуса, заголовков и тела. Проверяйте список применённых правил: тестируются подходящие правила, а не только отдельное поле редактора.

«Поиск и замена» и «Перехват» ​

Поиск и замена работает автоматически. После включения правило преобразует каждый подходящий запрос или ответ без ваших действий.

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

Типичные применения ​

  • Подменить cookie сессии во всех запросах для проверки другой учётной записи.
  • Добавить заголовок, включающий отладочный или административный режим.
  • Удалить защитные заголовки ответов для оценки поведения клиента.
  • Заменить жёстко заданный хост в ответах перенаправления.
  • Переписать префикс пути запроса.

Проприетарное ПО. Все права защищены.