So rufen Sie den HTTP-Antworttext in Chrome-Erweiterungen ab
Das Abrufen des HTTP-Antworttexts innerhalb eines Hintergrundskripts einer Chrome-Erweiterung stellt eine Herausforderung dar. Während die Erweiterung über chrome.webRequest.onBeforeRequest auf den Anforderungstext zugreifen kann, ist es normalerweise nicht möglich, den Antworttext abzurufen.
Um diese Einschränkung zu überwinden, besteht ein kreativer Ansatz darin, die chrome.debugger-API zu nutzen. Diese API ermöglicht Erweiterungen das Debuggen und die Interaktion mit der Netzwerkaktivität des Browsers. Hier ist eine detaillierte Implementierung:
<code class="javascript">// Attach to the current tab and enable network debugging. chrome.tabs.query({ currentWindow: true, active: true }, tabs => { chrome.debugger.attach({ tabId: tabs[0].id }, '1.0', debuggeeId => { chrome.debugger.sendCommand({ tabId: debuggeeId.tabId }, 'Network.enable'); }); }); // Listen for response received events. chrome.debugger.onEvent.addListener((debuggeeId, message, params) => { if (debuggeeId.tabId !== currentTab.id) return; if (message === 'Network.responseReceived') { // Get the response body by sending a command. chrome.debugger.sendCommand({ tabId: debuggeeId.tabId }, 'Network.getResponseBody', { requestId: params.requestId }, response => { // The response body is now available. // ... Process the response body ... }); } });</code>
Mit dieser Methode können Sie den HTTP-Antworttext abrufen, ohne dass zusätzliche Browserseiten oder erforderlich sind Dienstleistungen Dritter. Beachten Sie, dass Sie die Debugsitzung mit chrome.debugger.detach schließen können, wenn Sie fertig sind.
Das obige ist der detaillierte Inhalt vonSo rufen Sie den HTTP-Antworttext in Chrome-Erweiterungen ab: Ist das möglich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!