Heim >Web-Frontend >js-Tutorial >Wie erfasse ich HTTP-Antworttexte innerhalb einer Chrome-Erweiterung?
So erfassen Sie HTTP-Antwortkörper in Chrome-Erweiterungen
Einführung:
In Chrome-Erweiterungen Das Abrufen von Informationen über HTTP-Anfragen ist für viele Aufgaben unerlässlich, beispielsweise für die Analyse des Netzwerkverkehrs oder die Änderung von Antworten. Der Zugriff auf Anforderungstexte ist zwar unkompliziert, das Abrufen von Antworttexten stellt jedoch eine größere Herausforderung dar.
HTTP-Antworttexte abrufen:
Anfangs war der direkte Zugriff auf Antworttexte über Chrome-Erweiterungen nahezu unmöglich unmöglich. Die Lösung liegt nun jedoch in der Verwendung der API Network.getResponseBody aus dem Chrome DevTools-Protokoll.
Verwendung der API Network.getResponseBody:
Um Antworttexte mithilfe der Network.getResponseBody-API zu erfassen, führen Sie die folgenden Schritte aus:
Codebeispiel:
<code class="javascript">chrome.tabs.query( { currentWindow: true, active: true }, function (tabArray) { let currentTab = tabArray[0]; chrome.debugger.attach( { tabId: currentTab.id }, "1.0", onAttach.bind(null, currentTab.id) ); } ); function onAttach(tabId) { chrome.debugger.sendCommand({ tabId: tabId }, "Network.enable"); chrome.debugger.onEvent.addListener(allEventHandler); } function allEventHandler(debuggeeId, message, params) { if (currentTab.id != debuggeeId.tabId) { return; } if (message == "Network.responseReceived") { chrome.debugger.sendCommand( { tabId: debuggeeId.tabId }, "Network.getResponseBody", { requestId: params.requestId }, function (response) { // Access the response body in 'response.body' // Close the debugger (optional) chrome.debugger.detach(debuggeeId); } ); } }</code>
Hinweis:
Die Debugger-Funktionalität, einschließlich dieser API, ist nur in Hintergrundskripten verfügbar. Sie können diese Technik nicht in Inhaltsskripten verwenden, die innerhalb von Seitenkontexten ausgeführt werden.
Das obige ist der detaillierte Inhalt vonWie erfasse ich HTTP-Antworttexte innerhalb einer Chrome-Erweiterung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!