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!