Конструирование и повтор (конструктор)
Захват — это не только «смотреть». Конструктор запросов (Composer) Trace Eagle объединяет в одном месте «реально захваченный запрос» и «ручную сборку и отладку»: любой захваченный запрос можно отправить заново как есть или после подправки параметров; можно также собрать запрос с нуля и отправить его. Больше не нужно переключаться между инструментом захвата и отдельным инструментом отладки API.
1. Две точки входа
Заголовок раздела «1. Две точки входа»- Отправить заново / отредактировать и повторить: кликните правой кнопкой в списке трафика или нажмите «Отредактировать и отправить заново» на панели деталей, чтобы загрузить этот захваченный запрос в конструктор как есть. Адрес восстанавливается из протокола / хоста / порта на момент захвата, посторонние заголовки соединения удаляются, а тело и его тип определяются по содержимому — всё автоматически. Подправьте несколько параметров и отправьте заново.
- Собрать с нуля: соберите новый запрос вручную прямо в конструкторе.
Обе точки входа используют один и тот же канал отправки, и результаты записываются в отдельную вкладку сессии конструктора (с сохранением полной истории), где, как и захваченный запрос, их можно просматривать, редактировать заново и сравнивать.
2. Собрать запрос вручную
Заголовок раздела «2. Собрать запрос вручную»- Строка запроса: метод (GET / POST / PUT / DELETE / PATCH / HEAD / OPTIONS) + URL.
- Таблица параметров: параметры запроса управляются построчно в таблице, отдельно от URL, и собираются только в момент отправки, а значит, динамические подстановки внутри не ломаются преждевременным кодированием.
- Таблица заголовков: добавляйте, удаляйте или редактируйте любую строку заголовка построчно.
- Помощник авторизации: None / Bearer Token / Basic (имя пользователя + пароль, base64 автоматически); действует, только если вы сами не написали заголовок Authorization.
- Тело: none / JSON / форма (form-urlencoded) / сырой текст; выбор JSON или формы автоматически добавляет соответствующий Content-Type.
3. Динамические значения: работа с подписанными / зашифрованными приватными API
Заголовок раздела «3. Динамические значения: работа с подписанными / зашифрованными приватными API»Любое поле может содержать динамические значения ${...}, которые движок вычисляет перед отправкой. Это спасение при отладке приватных API, несущих подпись / метку времени / nonce:
| Динамическое значение | Назначение |
|---|---|
${uuid} / ${randomUUID} |
Случайный UUID |
${timestamp} |
Unix-время в секундах |
${timestampMs} / ${now} |
Unix-время в миллисекундах |
${random} |
Случайные 16 hex-цифр |
${randomInt:min,max} |
Случайное целое число в диапазоне |
${base64:} / ${base64url:} / ${base64decode:} |
Кодирование / декодирование Base64 |
${md5:} / ${sha1:} / ${sha256:} |
Хэш |
${hmacSha256:key,msg} / ${hmacSha256Base64:key,msg} / ${hmacSha1:key,msg} |
HMAC-подпись |
${urlEncode:} / ${upper:} / ${lower:} |
URL-кодирование / смена регистра |
- Поддержка вложенности: например
${hmacSha256:${secret},${body}}— сначала разрешается переменная, затем вычисляется подпись. - Всё, что не удалось разрешить, сохраняется как есть, так что вы сразу видите, какая переменная не была вычислена, тогда как обычные инструменты часто выдают ошибку или отправляют пустое значение при встрече с неопределённой переменной.

4. Окружения и коллекции
Заголовок раздела «4. Окружения и коллекции»- Переменные окружения: вынесите
${name}в переменные окружения и переключайтесь между несколькими окружениями (например, «разработка / тест / прод») в один клик; переменные могут ссылаться друг на друга и разворачиваться цепочкой. - Коллекции: сгруппируйте часто используемые запросы в именованные папки, сохраняйте текущий запрос в любой момент и загружайте его обратно для повторного использования, когда захотите.
- Автоматическое сохранение рабочего пространства: коллекции + окружения автоматически сохраняются как текстовый, поддающийся версионированию файл, который можно сравнивать и просматривать; это упрощает работу в команде и отслеживание истории.
5. Импорт и генерация кода
Заголовок раздела «5. Импорт и генерация кода»- Импорт cURL: вставьте команду cURL, чтобы разобрать её в редактируемый запрос (поддерживаются распространённые параметры вроде
-X / -H / -d / --data-* / -u / -b / -A / -e, включая обработку кавычек, и автоматически распознаётся POST при наличии тела). - Импорт файла коллекции: импортируйте внешние файлы коллекций API (в фокусе — сырое тело; группы разворачиваются в единую коллекцию).
- Генерация кода: экспортируйте текущий запрос в сниппет кода cURL / Python / JavaScript(fetch) / Go / OkHttp в один клик — удобно для написания скриптов, вставки в проект или отправки коллеге.
6. Достоверная отправка: сохранить воспроизведение близким к реальному пути
Заголовок раздела «6. Достоверная отправка: сохранить воспроизведение близким к реальному пути»Ценность повтора — в том, что «воспроизведённый запрос соответствует реальному окружению». В настройках конструктора отправка может сохранять те же сетевые характеристики, что и в сессии захвата, делая результаты более достоверными:
- Вышестоящий прокси: отправка через вышестоящий прокси (http / socks5), направляя воспроизведённый запрос на корпоративный прокси, промежуточный узел или другой вторичный прокси.
- Достоверность характеристик запроса (профиль браузера): восстановить сетевые характеристики воспроизведённого запроса до характеристик стандартного клиента (например, распространённого браузера), чтобы воспроизведённый запрос соответствовал реальному пути.
- Пользовательский DNS: указать, каким DNS резолвить домен, чтобы избежать отравления или пойти по заданному маршруту.
Перед отправкой все динамические значения ${...} сначала вычисляются локально, так что вы всегда точно видите, что именно будет отправлено. Каждая отправка проходит через отдельную сессию конструктора, изолированную от сессии захвата; результаты показывают код состояния, протокол и затраченное время прямо на месте и записываются как Flow в сессии, так что, как и захваченный запрос, их можно снова просматривать, редактировать и сравнивать.
7. В паре со сравнением запросов (Diff)
Заголовок раздела «7. В паре со сравнением запросов (Diff)»Собранный / воспроизведённый запрос можно сравнить построчно, бок о бок с реальным запросом, захваченным ранее в истории, быстро определив, «чем именно этот раз отличается от прошлого для одного и того же эндпоинта», что особенно эффективно для устранения различий в подписи, параметрах и ответе. См. Сравнение запросов.
Назад к Захвату через прокси · Смотрите также: Правила переписывания и точки останова · Сравнение запросов