---
url: https://docs.ogmabox.com/uk/app/replay.md
description: Створюйте, редагуйте й повторно надсилайте HTTP-запити в Ogma.
---

# Повторне надсилання {#replay}

Повторне надсилання дає змогу змінити й знову надіслати будь-який HTTP-запит та відстежує кожну спробу для порівняння впливу змін на відповідь.

## Створення сеансу {#creating-a-session}

Сеанс повторного надсилання містить один запит і його спроби. Типові способи створення:

* Виберіть запит у розділі **Історія HTTP** й натисніть **Надіслати до повторного надсилання**.
* Виберіть рядок результату в розділі **Автоматизація** й натисніть **Надіслати до повторного надсилання**.
* Відкрийте **Повторне надсилання** й створіть порожній сеанс для вставлення або введення HTTP-запиту в необробленому текстовому форматі.
* Використовуйте **Імпортувати** на панелі сеансів для створення сеансів із визначення API.

Кожен сеанс незалежний. Відкрийте кілька сеансів для одночасної роботи з різними запитами.

## Редактор запиту {#the-request-editor}

Редактор показує повний HTTP-запит: метод, URL, заголовки й тіло. Редагуйте будь-яке поле безпосередньо.

Виберіть режим редагування відповідно до типу тесту:

| Вкладка | Що можна редагувати |
| --- | --- |
| Форматований | HTTP-текст із підсвічуванням синтаксису й форматованими тілами, де підтримується. Форматування стає частиною запиту лише під час редагування цього подання. |
| Необроблений | Редагований текст передавання HTTP/1.x із видимими escape-послідовностями CR/LF. Надсилає точні байти замість виправлення некоректного оформлення повідомлення. |
| Шістнадцятковий | Редагування повного запиту HTTP/1.x на рівні байтів, зокрема двійкового вмісту. |
| Форма | Редагування за полями, якщо тіло має підтримуване кодування форми. |

Панель містить елементи керування методом, HTTP/TLS, ціллю, перенаправленнями, Content-Length, тайм-аутом і джерелом cookie. **Параметри рядка запиту** дають змогу додавати, вимикати або видаляти параметри запиту. Використовуйте **Завантажити тіло**, коли велике перехоплене тіло ще не завантажене до редактора.

Режими «Необроблений» і «Шістнадцятковий» навмисно оминають підстановку змінних, заміну cookie, перенаправлення й правила пошуку та заміни, щоб тести некоректних запитів зберігали точні байти. Це транспорти HTTP/1.x, а не спосіб створення необроблених кадрів HTTP/2. Для звичайного повторного надсилання використовуйте структурований редактор і досліджуйте отриману спробу, перевіряючи надіслані дані.

## Надсилання й порівняння спроб {#sending-and-comparing-attempts}

Натисніть **Надіслати**, щоб відправити запит. Відповідь з’явиться на панелі праворуч. Кожне надсилання зберігається як спроба в списку **Спроби** під редактором.

Розгорніть **Спроби**, якщо список згорнуто. Вибір спроби завантажує її запит і відповідь, а не лише останню відповідь. Елементи керування спробами включають відкриття в автоматизації, видалення окремої спроби, експорт CSV і приховування спроб. Приховування не тотожне видаленню.

Використовуйте **Відкрити цю відповідь у порівнянні**, щоб дослідити відмінності відповідей. Змінюйте по одному параметру, щоб спостережувану відмінність можна було пов’язати з цією зміною.

## Змінні середовища {#environment-variables}

Використовуйте {{env.VAR}} для посилання на змінні середовища, колекції або сеансу. Задайте глобальні значення простору й значення проєкту в розділі **Середовище**, потім використовуйте змінні колекції або сеансу для локального перевизначення. Увімкніть шаблонізацію тіла, якщо потрібні підстановки всередині нього; інакше його байти зберігаються.

Змінні корисні для:

* Токенів, що змінюються між сеансами тестування
* ID облікових записів, які ви замінюєте для перевірки контролю доступу
* Хостів, між якими перемикаєтеся в тестовому й виробничому середовищах

Для структурованого надсилання значення вибирається за пріоритетом: сеанс, колекція, проєкт, глобальна змінна. Відсутні змінні спричиняють помилку. Перетворення й динамічні значення описано в розділі [Середовище](./environment.md).

## Cookie й перенаправлення {#cookies-and-redirects}

Виберіть **Заголовки запиту**, щоб зберегти заголовок Cookie сеансу, **Сховище cookies**, щоб використати відповідні cookie зі сховища проєкту, або **Браузер Ogma** для відповідних cookie вбудованого браузера. Ці варіанти діють для структурованого надсилання; режими «Необроблений» і «Шістнадцятковий» зберігають надані байти.

Використовуйте **Редагувати сховище cookies проєкту** для керування збереженими cookie. Під час переходу за перенаправленнями Ogma виконує щонайбільше 10 переходів і прибирає заголовки Authorization та Cookie, якщо змінюється origin. Перевіряйте автентифікацію після зміни origin замість припущення, що облікові дані було передано.

## Колекції {#collections}

Колекції групують пов’язані сеанси. Створіть колекцію для всіх запитів певної функції або сценарію тестування.

Змінні колекції діють для всіх її сеансів, тому токен задається один раз, а не в кожному сеансі.

Перейменовуйте сеанси через **F2** або контекстне меню. Переміщуйте їх через **Перемістити до колекції** або перетягування й змінюйте порядок у колекції. Колекції можуть містити вкладені колекції та експортуватися й імпортуватися як JSON. **Закрити вище** й **Закрити нижче** стосуються вертикального списку сеансів.

## Імпорт визначень API {#importing-api-definitions}

1. Натисніть **Імпортувати** на панелі сеансів.
2. Виберіть самодостатній документ OpenAPI 3.x, колекцію Postman v2.1, результат інтроспекції GraphQL або документ WSDL (щонайбільше 10 МБ).
3. Для інтроспекції GraphQL надайте кінцеву точку HTTP(S), коли з’явиться запит.
4. Перевірте створену колекцію й запити перед надсиланням: цільові URL, параметри, приклади тіл і дані автентифікації можуть потребувати змін для вашого середовища.

Імпорт створює редаговані запити, але не запускає сканування. Зовнішні посилання на схеми не завантажуються, тому включіть їх до вхідного документа. Імпортовані шляхи також з’являються в розділі «Кінцеві точки» з джерелом специфікації API замість запису історії HTTP. Рефлексія gRPC не входить до підтримуваних форматів імпорту.

## Послідовності {#sequences}

На панелі **Послідовності** виберіть щонайменше два наявні сеанси повторного надсилання, задайте назву послідовності й порядок виконання. Послідовність надсилає реальні запити, тому використовуйте відомі базові запити й перевіряйте кінцевий стан замість трактування завершення як доказу успіху. Створення послідовності не виявляє автоматично залежностей автентифікації або токенів між її кроками.

## Надсилання до автоматизації {#sending-to-automate}

Для масового виконання варіантів запиту виберіть **Надіслати до автоматизації** в сеансі. Ogma відкриє автоматизацію із завантаженим запитом, щоб ви задали списки навантажень і запустили кампанію.

## Повторне надсилання WS {#websocket-replay}

Повторне надсилання WS — окремий розділ зі станом з’єднання й стрічкою надісланих і отриманих повідомлень. У розділі «Історія WS / SSE» використовуйте **Надіслати до повторного надсилання WS**, підключіться й надішліть потрібні повідомлення ініціалізації та автентифікації на рівні застосунку перед тестуванням зміненого кадру. Див. [Повторне надсилання WS](./ws-replay.md).

## Допомога ШІ {#ai-assist}

Використовуйте **Проаналізувати за допомогою ШІ** на відповіді для аналізу вибраного обміну. Перевіряйте запропоновані тести й тлумачення; пояснення помічника не є незалежним доказом уразливості.

## Пов’язані сторінки {#related-pages}

* [Автоматизація](./automate.md)
* [Повторне надсилання WS](./ws-replay.md)
* [Середовище](./environment.md)
* [Знахідки](./findings.md)
