如何在 Chrome 扩展程序中检索 HTTP 响应正文
在 Chrome 扩展程序后台脚本中检索 HTTP 响应正文是一项挑战。虽然扩展程序可以使用 chrome.webRequest.onBeforeRequest 访问请求正文,但通常无法获取响应正文。
为了克服此限制,一种创造性的方法涉及利用 chrome.debugger API。此 API 允许扩展程序调试浏览器的网络活动并与之交互。下面是详细实现:
<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>
此方法允许您检索 HTTP 响应正文,而不需要额外的浏览器页面或第三方服务。请注意,完成后您可以使用 chrome.debugger.detach 关闭调试会话。
以上是如何在 Chrome 扩展程序中检索 HTTP 响应正文:可能吗?的详细内容。更多信息请关注PHP中文网其他相关文章!