---
url: https://docs.ogmabox.com/it/app/replay.md
description: Crea, modifica e invia di nuovo richieste HTTP in Ripetizione di Ogma.
---

# Ripetizione {#replay}

Ripetizione (Replay) consente di modificare e inviare di nuovo qualsiasi richiesta HTTP e registra ogni tentativo, così puoi confrontare come le modifiche influenzano la risposta.

## Creare una sessione {#creating-a-session}

Una sessione di Ripetizione contiene una richiesta e i suoi tentativi. I modi comuni per crearne una sono:

* Seleziona una richiesta in **Cronologia HTTP** e scegli **Invia a Ripetizione**.
* Seleziona una riga dei risultati in **Automazione** e scegli **Invia a Ripetizione**.
* Apri **Ripetizione** e crea una sessione vuota per incollare o digitare una richiesta grezza.
* Usa **Importa** nella barra degli strumenti di Sessioni per generare sessioni da una definizione API.

Ogni sessione è indipendente. Apri più sessioni per lavorare su richieste diverse contemporaneamente.

## Editor delle richieste {#the-request-editor}

L'editor mostra la richiesta HTTP completa: metodo, URL, intestazioni e corpo. Modifica qualsiasi campo direttamente.

Scegli la modalità di modifica della richiesta in base al tipo di test che stai eseguendo:

| Scheda | Cosa puoi modificare |
| --- | --- |
| Formattato | Testo HTTP con evidenziazione della sintassi e corpi formattati dove supportati. La formattazione entra a far parte della richiesta solo quando modifichi questa vista. |
| Grezzo | Testo di trasmissione HTTP/1.x modificabile, inclusi escape CR/LF visibili. Invia byte esatti anziché correggere una delimitazione malformata del messaggio. |
| Hex | Modifica a livello di byte della richiesta HTTP/1.x completa, incluso il contenuto binario. |
| Modulo | Modifica per campi quando il corpo ha una codifica di modulo supportata. |

La barra degli strumenti include controlli per metodo, HTTP/TLS, target, reindirizzamento, Content-Length, timeout e origine dei cookie. **Parametri della query** consente di aggiungere, disattivare o rimuovere parametri di query. Usa **Carica corpo** quando un corpo acquisito grande non è ancora stato caricato nell'editor.

Grezzo e Hex ignorano deliberatamente l'espansione delle variabili, la sostituzione dei cookie, i reindirizzamenti e le regole di Trova e sostituisci, così i test di richieste malformate conservano i byte esatti. Sono trasporti HTTP/1.x, non un modo per costruire frame HTTP/2 grezzi. Usa l'editor strutturato per la normale ripetizione e ispeziona il tentativo risultante per controllare cosa è stato inviato.

## Inviare e confrontare i tentativi {#sending-and-comparing-attempts}

Fai clic su **Invia** per inviare la richiesta. La risposta appare nel pannello a destra. Ogni invio viene memorizzato come tentativo nell'elenco **Tentativi** sotto l'editor.

Espandi **Tentativi** se è compresso. Selezionare un tentativo carica la richiesta e la risposta di quel tentativo, non solo la risposta più recente. I controlli dei tentativi includono l'apertura in Automazione, l'eliminazione di un singolo tentativo, l'esportazione CSV e l'occultamento dei tentativi dalla vista. Nasconderli non equivale a eliminarli.

Usa **Apri questa risposta in Confronto** per ispezionare le differenze tra risposte nello strumento di confronto. Cambia un parametro alla volta, così la differenza osservata è attribuibile a quella modifica.

## Variabili di ambiente {#environment-variables}

Usa {{env.VAR}} per referenziare variabili di ambiente, raccolta o sessione. Definisci i valori dello spazio di lavoro/globali e del progetto in **Ambiente**, quindi usa le variabili di raccolta o sessione per sostituzioni locali. Attiva l'interpolazione delle variabili nel modello del corpo se vuoi espanderle all'interno del corpo della richiesta; altrimenti i suoi byte vengono conservati.

Le variabili sono utili per:

* Token che cambiano tra sessioni di test
* ID di account che sostituisci per testare il controllo degli accessi
* Host tra cui passi per alternare staging e produzione

Negli invii strutturati prevale il valore più specifico: sessione, raccolta, progetto e infine globale. Le variabili mancanti producono un errore. Consulta [Ambiente](./environment.md) per trasformazioni e valori dinamici.

## Cookie e reindirizzamenti {#cookies-and-redirects}

Scegli **Intestazioni della richiesta** per mantenere l'intestazione Cookie della sessione, **Archivio cookie** per usare i cookie corrispondenti dell'archivio del progetto, oppure **Browser Ogma** per usare i cookie corrispondenti del browser integrato. Queste scelte si applicano agli invii strutturati; Grezzo e Hex conservano i byte forniti.

Usa **Modifica archivio cookie del progetto** per gestire i cookie salvati. Quando segue i reindirizzamenti, Ogma ne segue al massimo 10 e rimuove le intestazioni Authorization e Cookie quando cambia l'origine. Verifica l'autenticazione dopo un cambio di origine, anziché presumere che le credenziali siano state inoltrate.

## Raccolte {#collections}

Le raccolte raggruppano sessioni correlate. Crea una raccolta per organizzare tutte le richieste relative a una funzionalità o a uno scenario di test specifico.

Le variabili di raccolta si applicano a tutte le sessioni della raccolta, così definisci un token una sola volta anziché per ogni sessione.

Rinomina le sessioni con **F2** o con il menu contestuale della sessione. Sposta le sessioni usando **Sposta nella raccolta** o trascinandole e riordinale all'interno di una raccolta. Le raccolte possono contenere sottoraccolte ed essere esportate/importate come JSON. **Chiudi quelle precedenti** e **Chiudi quelle successive** si riferiscono all'elenco verticale delle sessioni.

## Importare definizioni API {#importing-api-definitions}

1. Fai clic su **Importa** nella barra degli strumenti di Sessioni.
2. Seleziona un documento OpenAPI 3.x autonomo, una raccolta Postman v2.1, un risultato di introspezione GraphQL o un documento WSDL (massimo 10 MB).
3. Per l'introspezione GraphQL, fornisci l'endpoint HTTP(S) quando richiesto.
4. Esamina la raccolta e le richieste generate prima di inviare: gli URL target, i parametri, gli esempi di corpo e i valori di autenticazione potrebbero richiedere modifiche per il tuo ambiente.

L'importazione genera richieste modificabili; non avvia una scansione di sicurezza. I riferimenti a schemi esterni non vengono scaricati, quindi includili nel documento di input. I percorsi importati appaiono anche in Endpoint con una specifica API come origine, anziché una voce di Cronologia HTTP. La reflection gRPC non è uno dei formati di importazione supportati.

## Sequenze {#sequences}

Usa il pannello **Sequenze** per selezionare almeno due sessioni di Ripetizione esistenti, assegnare un nome alla sequenza e ordinarne l'esecuzione. Una sequenza invia richieste reali, quindi usa richieste di riferimento note e verifica lo stato risultante, anziché considerare il completamento una prova di successo. Creare una sequenza non individua automaticamente le dipendenze di autenticazione o token tra i suoi passaggi.

## Inviare ad Automazione {#sending-to-automate}

Quando vuoi eseguire variazioni di una richiesta su larga scala, seleziona **Invia ad Automazione** dalla sessione. Ogma apre Automazione con la richiesta già caricata, così puoi definire elenchi di payload ed eseguire la campagna.

## Ripetizione WebSocket {#websocket-replay}

Ripetizione WebSocket è una vista separata con lo stato della connessione e una cronologia dei messaggi inviati/ricevuti. In Cronologia WebSocket, usa **Invia a Ripetizione WS**, connettiti e invia i messaggi di inizializzazione/autenticazione richiesti a livello applicativo prima di testare un frame modificato. Consulta [Ripetizione WebSocket](./ws-replay.md).

## Assistenza IA {#ai-assist}

Usa **Analizza con IA** sulla risposta per richiedere l'analisi dello scambio selezionato. Esamina i test e le interpretazioni suggeriti; la spiegazione dell'assistente non è una prova indipendente di una vulnerabilità.

## Pagine correlate {#related-pages}

* [Automazione](./automate.md)
* [Ripetizione WebSocket](./ws-replay.md)
* [Ambiente](./environment.md)
* [Risultati](./findings.md)
