Maison > interface Web > js tutoriel > Comment capturer les réponses d'en-tête HTTP dans une extension Chrome ?

Comment capturer les réponses d'en-tête HTTP dans une extension Chrome ?

Patricia Arquette
Libérer: 2024-11-06 18:40:02
original
396 Les gens l'ont consulté

How to Capture HTTP Header Responses in a Chrome Extension?

Capture des réponses d'en-tête HTTP dans une extension Chrome

Arrière-plan

Les extensions Chrome fournissent la fonctionnalité pour modifier les en-têtes des requêtes avant de les envoyer. Cependant, l'accès aux en-têtes de réponse n'est pas directement pris en charge par les API d'extension.

Solution : injection de script DOM

Une approche pour capturer les réponses HTTP consiste à injecter un script dans le DOM du site Web pour surveiller l'activité du réseau. Cette technique utilise le code suivant :

// Background script: inject.js
var s = document.createElement('script');
s.src = chrome.runtime.getURL('injected.js');
s.onload = function() {
    this.remove();
};
(document.head || document.documentElement).appendChild(s);

// Content script: injected.js
(function(xhr) {

    // Override XMLHttpRequest methods
    var XHR = XMLHttpRequest.prototype;

    ['open', 'setRequestHeader', 'send'].forEach(function(method) {
        var originalMethod = XHR[method];

        XHR[method] = function() {
            // Intercept events and capture request and response headers
            ...
        };
    });

})(XMLHttpRequest);
Copier après la connexion

Configuration du manifeste

Pour injecter le script, mettez à jour le manifest.json de l'extension comme suit :

"content_scripts": [{
    "matches": ["*://website.com/*"],
    "run_at": "document_start",
    "js": ["contentscript.js", "inject.js"]
}],
"web_accessible_resources": [{
    "resources": ["injected.js"],
    "matches": ["*://website.com/*"]
}]
Copier après la connexion

Résultat

Cette solution permet à l'extension de capturer et d'enregistrer les en-têtes de demande et de réponse, permettant à l'extension de récupérer les en-têtes souhaités de la réponse.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal