Salta ai contenuti

Intercettazione HTTP

Guida può intercettare le richieste HTTP prima che escano dal browser, permettendoti di ispezionare intestazioni e contenuto, modificare richieste al volo, simulare risposte o rieseguire richieste catturate con modifiche. Usa il dominio CDP Fetch integrato nel browser: non servono configurazione proxy o certificati SSL.

Fai clic su Abilita intercettazione (Enable Intercept) per iniziare a mettere in pausa tutte le richieste in uscita. Ogni richiesta viene trattenuta in un elenco finché non decidi cosa farne.

Pannello di intercettazione con richieste in pausa, pannello di dettaglio, azioni di inoltro, scarto e simulazione, e scheda delle regole

Il pannello di intercettazione (Intercept) mette in pausa le richieste del browser corrispondenti, così puoi ispezionare intestazioni e contenuto prima di inoltrarle, scartarle o simularle.

AzioneScorciatoiaCosa fa
Inoltra (Forward)FContinua la richiesta verso il server
Scarta (Drop)DScarta la richiesta
Simula (Mock)Restituisce una risposta personalizzata senza contattare il server
Inoltra e intercetta (Forward + Intercept ↩)Inoltra la richiesta e mette in pausa la risposta quando arriva
Inoltra tutto (Forward All)Continua tutte le richieste in pausa contemporaneamente
Scarta tutto (Drop All)Scarta tutte le richieste in pausa

Seleziona una richiesta in pausa per ispezionarne intestazioni e contenuto nel pannello di dettaglio. Il contenuto è modificabile per richieste POST/PUT.

Per ispezionare il contenuto di una risposta, per esempio un file JS, una risposta API JSON o una pagina HTML, fai clic su Inoltra e intercetta (Forward + Intercept ↩) invece di Inoltra (Forward). La richiesta viene inviata al server e l’elemento dell’elenco cambia sul posto per mostrare stato, intestazioni e contenuto decodificato della risposta. Puoi quindi inoltrare la risposta al browser, scartarla o sostituirla con una risposta simulata.

Passa alla scheda Regole (Rules) per aggiungere regole di intercettazione persistenti. Ogni regola ha un pattern glob URL, un filtro opzionale sul metodo HTTP e un’azione:

AzioneComportamento
Metti in pausa (Pause)Trattiene le richieste corrispondenti per revisione manuale, come il comportamento predefinito
Continua (Continue)Lascia passare le richieste corrispondenti senza metterle in pausa
Blocca (Block)Interrompe le richieste corrispondenti con un errore di rete
Simula (Mock)Restituisce una risposta personalizzata per le richieste corrispondenti

Le regole hanno priorità sul comportamento predefinito di pausa globale. Per esempio, aggiungere una regola Continua (Continue) per *.css lascia caricare normalmente i fogli di stile mentre tutto il resto viene messo in pausa.

Il pannello Client HTTP (HTTP Client) ti permette di rieseguire e modificare richieste catturate: un’alternativa integrata a Postman o Insomnia.

Pannello Client HTTP con editor richiesta, metodo, URL, griglia delle intestazioni e visualizzatore risposta

Il client HTTP (HTTP Client) riesegue richieste catturate con metodo, URL, intestazioni, contenuto e cronologia risposte modificabili.

  1. Apri il pannello Cronologia (History) e passa alla scheda Rete (Network)
  2. Fai clic con il tasto destro su qualsiasi richiesta e scegli Invia al client HTTP (Send to HTTP Client)
  3. Il pannello si apre con metodo, URL, intestazioni e contenuto già compilati

Modifica qualsiasi cosa: cambia il metodo, ritocca un’intestazione, modifica il contenuto, poi fai clic su Invia (Send). La risposta appare nel pannello inferiore con codice di stato, tempo di risposta, intestazioni e contenuto; il JSON viene formattato automaticamente.

Il menu a discesa in basso a destra salva tutti gli invii precedenti. Seleziona una voce per ripristinare sia i parametri della richiesta sia la risposta, rendendo semplice il confronto tra tentativi.

Il namespace g.intercept.* permette agli script di controllare l’intercettazione in modo programmatico:

// Blocca richieste pubblicitarie o di tracking durante la navigazione
g.intercept.enable();
g.intercept.addRule("https://ads.example.com/*", { action: "block" });
g.intercept.addRule("https://tracking.example.com/*", { action: "block" });
await g.nav.navigateToUrl("https://example.com");
// Pulisci quando hai finito
g.intercept.clearRules();
g.intercept.disable();
MetodoDescrizione
g.intercept.enable()Attiva l’intercettazione delle richieste
g.intercept.disable()Disattiva l’intercettazione e rilascia tutte le richieste in pausa
g.intercept.isEnabled()Controlla se l’intercettazione è attiva
g.intercept.addRule(pattern, options?)Aggiunge una regola e restituisce l’ID della regola
g.intercept.removeRule(ruleId)Rimuove una regola specifica
g.intercept.clearRules()Rimuove tutte le regole
g.intercept.listRules()Elenca le regole attive

Le regole con action: "script" eseguono un file JavaScript per ogni richiesta corrispondente. Lo script riceve la richiesta tramite g.intercept.getRequest() e decide cosa fare:

// intercept-handler.js — eseguito per ogni richiesta
const req = g.intercept.getRequest();
// Aggiunge un'intestazione personalizzata e continua
g.intercept.continue({
headers: { "X-Custom-Auth": "my-token" }
});
MetodoDescrizione
g.intercept.getRequest()Ottiene la richiesta in pausa: URL, metodo, intestazioni e contenuto
g.intercept.continue(options?)Inoltra con intestazioni/URL modificati opzionali
g.intercept.respond(status, headers?, body?)Restituisce una risposta simulata
g.intercept.abort(reason?)Interrompe la richiesta