如何使用chrome.webRequestAPI获取GET请求URL?

How to obtain GET request URL using chrome.webRequest API?

我创建了一个 chrome 扩展,它提供了在打开的 Facebook 页面上下载任何媒体的可访问性,包括照片、视频和故事。但是当我要 access/catch facebook 的视频故事请求 URL 时,我被卡住了,该请求显示在控制台的网络选项卡中,使用 chrome.webRequest API.

通过从上面的 URL 中排除 bytestartbyteend 参数,我们得到了完整的视频文件(带有过期标记)。 <video> 标签本身有 src 属性,如 blob:https://www.facebook.com/<some_alpha_numerics_and_hyphens>.

这是我在我的扩展项目中尝试过的:

权限:

"permissions": [
  "webRequest",
  "*://*/*"
],

我试过听所有可用的事件,但没有成功。

chrome.webRequest.onBeforeRequest.addListener(
  function(details) {
    console.log('onBeforeRequest', details.url);
  },
  {
    urls: ["<all_urls>"]
  }
);
// onBeforeSendHeaders
// onSendHeaders
// onHeadersReceived
// onAuthRequired
// onResponseStarted
// onBeforeRedirect
// onCompleted
// onErrorOccurred

我还没有尝试过 chrome.declarativeWebRequest https://developer.chrome.com/extensions/declarativeWebRequest 因为它仅适用于 Beta 和 Dev 渠道。

真的可以吗还是我用错了?提前谢谢你。

我建议将“webRequestBlocking”权限添加到您的 manifest.json 文件。

根据文档,回调使用需要“webRequest”和“webRequestBlocking”权限才能工作的阻塞事件处理程序。

参考:https://developer.chrome.com/extensions/webRequest#examples