Имитация ответов

Chute может возвращать имитированные данные для совпадающих HTTP/HTTPS-запросов, не обращаясь к реальному серверу. Это полезно для тестирования, разработки или блокировки нежелательного контента с пользовательским ответом.

Правила имитации определяются в разделе [Map Local] (также поддерживается [Mock] как устаревшее имя раздела).

К одному запросу может быть применено несколько правил. Используется первое правило имитации с совпадающим шаблоном URL.

Формат встроенной имитации

Для простых имитированных ответов с встроенным содержимым:

[Map Local]
^http://example\.com/api/status status=200 body={"ok":true}
^http://example\.com/blocked status=403
^http://ad\.com/.* status=200 body="<html></html>" content-type="text/html"

Правило встроенной имитации состоит из: регулярного выражения URL и одного или нескольких параметров ответа key=value.

Встроенные параметры

status: Обязательно.

status=200

Код статуса HTTP для возврата.

body: Необязательно.

body={"result":"mocked"}

Тело ответа для возврата. Если не указано, возвращается пустое тело.

content-type: Необязательно.

content-type=application/json

Заголовок Content-Type для имитированного ответа. Используйте вместе с body для отправки правильных ответов.

headers: Необязательно.

headers=X-Custom:Value1;X-Another:Value2

Дополнительные заголовки ответа, разделенные ;.


Формат Map Local

Для отправки имитированных ответов из локальных файлов или с содержимым в кодировке base64:

[Map Local]
^https://example\.com/api data="/path/to/mock-response.json"
^https://example\.com/page data="/path/to/page.html" header="SGVhZGVyOiBWYWx1ZQ=="
^https://example\.com/pixel base64="R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"

Параметры Map Local

Параметр Описание
data="/path/to/file" Путь к файлу для отправки в качестве тела ответа. Файл читается в момент запроса.
base64="<encoded>" Содержимое тела ответа в кодировке base64.
header="<base64>" Пользовательские заголовки ответа в кодировке base64 (формат Key: Value\n).

Должен быть указан хотя бы один из параметров: data= или base64=.

Переменные шаблона

При использовании data= или base64= тело ответа поддерживает подстановку переменных шаблона:

Переменная Заменяется на
{{url}} Полный путь URL запроса
{{host}} Имя хоста запроса
{{path}} Относительный путь URL
{{method}} HTTP-метод
{{ua}} Значение заголовка User-Agent

Пример файла имитированного ответа (response.json):

{
    "requested_url": "{{ "{{url}}" }}",
    "host": "{{ "{{host}}" }}",
    "method": "{{ "{{method}}" }}"
}

Примечание: Для HTTPS-запросов должна быть включена расшифровка MitM для соответствующего имени хоста. Правила имитации для HTTPS-трафика без MitM будут проигнорированы.

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-06-28 02:09:17

results matching ""

    No results matching ""