如何使用Chrome扩展程序API获取网页的所有HTTP请求

3

我知道在开发者工具中可以获取所有的HTTP请求,但现在我想在Chrome扩展程序中获取它们。哪个API可以完成这项工作?

2个回答

3
你需要查看基于标签ID的webRequest API事件过滤器
类似这样(需要"webRequest"权限和"<all_urls>"主机权限):
chrome.webRequest.onBeforeRequest.addListener(
  function(details) {
    // Do something with the details
  },
  {tabId: /* ... */, urls: "<all_urls>"}
);

顺便提一下,我看到了你关于资源的另一个问题;请注意,你可以进一步按类型过滤请求,例如"stylesheet"


我假设这不会捕获在添加监听器之前发生的请求?如果OP打算从页面操作按钮使用它,可能无法产生预期的结果。 - levi
@levi 从技术上讲,这在问题中并没有明确说明。但是 DevTools(通常)在打开之前不会记录网络请求,因此您需要做好准备。 - Xan

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接