So rufen Sie den HTTP-Antworttext in Chrome-Erweiterungen ab
Das Abrufen des HTTP-Antworttexts innerhalb eines Hintergrundskripts für eine 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:
// 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 ...
});
}
});
Mit dieser Methode können Sie den HTTP-Antworttext abrufen, ohne dass zusätzliche Browserseiten oder Dienste von Drittanbietern erforderlich sind. Beachten Sie, dass Sie die Debugsitzung mit chrome.debugger.detach schließen können, wenn Sie fertig sind.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3