Aller au contenu

Interception HTTP

Guida peut intercepter les requêtes HTTP avant qu’elles quittent le navigateur. Vous pouvez inspecter en-têtes et contenus, modifier les requêtes à la volée, simuler des réponses ou rejouer des requêtes capturées avec des modifications. Guida utilise le domaine CDP Fetch intégré au navigateur : aucune configuration de proxy ni aucun certificat SSL n’est nécessaire.

Cliquez sur Enable Intercept pour commencer à suspendre toutes les requêtes sortantes. Chaque requête est retenue dans une liste jusqu’à ce que vous décidiez quoi en faire.

Panneau Intercept montrant des requêtes suspendues avec panneau de détails, actions forward/drop/mock et onglet rules

Le panneau Intercept suspend les requêtes navigateur correspondantes pour inspecter en-têtes et contenus avant de les transmettre, les abandonner ou les simuler.

ActionRaccourciEffet
ForwardFContinue la requête vers le serveur
DropDAnnule la requête
MockRenvoie une réponse personnalisée sans contacter le serveur
Forward + Intercept ↩Transmet la requête et suspend la réponse à son arrivée
Forward AllContinue toutes les requêtes suspendues en une fois
Drop AllAnnule toutes les requêtes suspendues

Sélectionnez une requête suspendue pour inspecter ses en-têtes et son contenu dans le panneau de détails. Le contenu est modifiable pour les requêtes POST/PUT.

Pour inspecter le contenu d’une réponse, comme un fichier JS, une réponse API JSON ou une page HTML, cliquez sur Forward + Intercept ↩ au lieu de Forward. La requête est envoyée au serveur et l’élément de liste se transforme sur place pour afficher le statut, les en-têtes et le contenu décodé de la réponse. Vous pouvez ensuite transmettre la réponse au navigateur, l’abandonner ou la remplacer par une simulation.

Passez à l’onglet Rules pour ajouter des règles d’interception persistantes. Chaque règle contient un motif glob d’URL, un filtre facultatif de méthode HTTP et une action :

ActionComportement
PauseRetient les requêtes correspondantes pour révision manuelle, comme le comportement par défaut
ContinueLaisse passer les requêtes correspondantes sans pause
BlockAnnule les requêtes correspondantes avec une erreur réseau
MockRenvoie une réponse personnalisée pour les requêtes correspondantes

Les règles ont priorité sur le comportement par défaut qui suspend tout. Par exemple, ajouter une règle Continue pour *.css laisse les feuilles de style se charger normalement pendant que le reste reste suspendu.

Le panneau HTTP Client permet de rejouer et modifier des requêtes capturées : une alternative intégrée à Postman ou Insomnia.

Panneau HTTP Client montrant l'éditeur de requête avec méthode, URL, grille d'en-têtes et visualiseur de réponse

Le HTTP Client rejoue des requêtes capturées avec méthode, URL, en-têtes, contenu et historique de réponse modifiables.

  1. Ouvrez le panneau History et passez à l’onglet Network.
  2. Faites un clic droit sur une requête et choisissez Send to HTTP Client.
  3. Le panneau s’ouvre avec méthode, URL, en-têtes et contenu préremplis.

Modifiez ce que vous voulez : méthode, en-tête, contenu. Cliquez ensuite sur Send. La réponse apparaît dans le panneau inférieur avec code d’état, temps de réponse, en-têtes et contenu ; le JSON est automatiquement formaté.

La liste en bas à droite conserve tous les envois précédents. Sélectionnez une entrée pour restaurer à la fois les paramètres de requête et sa réponse, ce qui facilite la comparaison entre tentatives.

L’espace de noms g.intercept.* permet aux scripts de contrôler l’interception :

// Block ad/tracking requests during navigation
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");
// Clean up when done
g.intercept.clearRules();
g.intercept.disable();
MéthodeDescription
g.intercept.enable()Active l’interception des requêtes
g.intercept.disable()Désactive l’interception et libère toutes les requêtes suspendues
g.intercept.isEnabled()Indique si l’interception est active
g.intercept.addRule(pattern, options?)Ajoute une règle et renvoie son ID
g.intercept.removeRule(ruleId)Supprime une règle précise
g.intercept.clearRules()Supprime toutes les règles
g.intercept.listRules()Liste les règles actives

Les règles avec action: "script" exécutent un fichier JavaScript pour chaque requête correspondante. Le script reçoit la requête via g.intercept.getRequest() et décide quoi faire :

// intercept-handler.js — runs per-request
const req = g.intercept.getRequest();
// Add a custom header and continue
g.intercept.continue({
headers: { "X-Custom-Auth": "my-token" }
});
MéthodeDescription
g.intercept.getRequest()Récupère la requête suspendue : URL, méthode, en-têtes, contenu
g.intercept.continue(options?)Transmet la requête avec en-têtes ou URL modifiés facultatifs
g.intercept.respond(status, headers?, body?)Renvoie une réponse simulée
g.intercept.abort(reason?)Annule la requête