Heim  >  Artikel  >  Web-Frontend  >  Wie erfasst man HTTP-Header-Antworten in einer Chrome-Erweiterung?

Wie erfasst man HTTP-Header-Antworten in einer Chrome-Erweiterung?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-06 18:40:02233Durchsuche

How to Capture HTTP Header Responses in a Chrome Extension?

Erfassen von HTTP-Header-Antworten in einer Chrome-Erweiterung

Hintergrund

Chrome-Erweiterungen stellen die Funktionalität bereit um Anforderungsheader vor dem Senden zu ändern. Der Zugriff auf Antwortheader wird jedoch nicht direkt von den Erweiterungs-APIs unterstützt.

Lösung: DOM-Skriptinjektion

Ein Ansatz zum Erfassen von HTTP-Antworten besteht darin, ein Skript in das einzufügen DOM der Website zur Überwachung der Netzwerkaktivität. Diese Technik verwendet den folgenden Code:

// 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);

Manifestkonfiguration

Um das Skript einzufügen, aktualisieren Sie die manifest.json der Erweiterung wie folgt:

"content_scripts": [{
    "matches": ["*://website.com/*"],
    "run_at": "document_start",
    "js": ["contentscript.js", "inject.js"]
}],
"web_accessible_resources": [{
    "resources": ["injected.js"],
    "matches": ["*://website.com/*"]
}]

Ergebnis

Diese Lösung ermöglicht es der Erweiterung, sowohl Anforderungs- als auch Antwortheader zu erfassen und zu protokollieren, sodass die Erweiterung die gewünschten Header aus der Antwort abrufen kann.

Das obige ist der detaillierte Inhalt vonWie erfasst man HTTP-Header-Antworten in einer Chrome-Erweiterung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn