【问题标题】:Access response payload/data from within a chrome extension从 chrome 扩展中访问响应负载/数据
【发布时间】:2012-12-28 20:10:52
【问题描述】:

我正在做一个项目,它需要跟踪来自某个站点的“ajax 请求”,访问其中一些请求的响应负载并对其采取行动。

到目前为止,我设法使用webRequest api 跟踪请求并访问它们的标头,唯一的问题是我无论如何都找不到访问这些响应中的实际数据。

有可能吗?

请随时发布任何可以提供帮助的想法或参考资料。

谢谢,祝你有美好的一天。


编辑:

我正在寻找的一个示例是网络面板中的响应选项卡,它是 chrome 开发人员工具的一部分。

【问题讨论】:

    标签: google-chrome google-chrome-extension google-chrome-devtools httpwebresponse


    【解决方案1】:

    devtools.network API 仅在开发人员工具窗口打开时才有效。对于日常浏览,无法访问响应数据。有一个 feature request open 讨论阅读/编辑响应正文。

    【讨论】:

      【解决方案2】:

      网络面板HARHTTP 存档格式日志的 HTML 表示。您可以使用devtools.network API 跟踪网络面板的每个元素。

      您可以参考以下代码,其中正在跟踪 TCP 连接时间,作为开始使用 devtools.network APIHAR Log 的参考。

      manifest.json

      注册devtools.html跟踪网络面板事件

      {
          "name": "Network Demo",
          "description": "This is a sample for API's available for Network",
          "devtools_page": "devtools.html",
          "manifest_version": 2,
          "version": "2"
      }
      

      devtools.html

      注册devtools.js以遵守CSP。

      <html>
      
          <head>
              <script src="devtools.js"></script>
          </head>
      
          <body></body>
      
      </html>
      

      devtool.js

      下面代码中的req返回HAR Log,你可以用它来阅读你需要的内容;我在这里使用了TCP Connection time 的 HAR

      chrome.devtools.network.onRequestFinished.addListener(function(req) {
          // Displayed sample TCP connection time here
         console.log(req.timings.connect);
      });
      

      参考文献

      【讨论】:

      • 是“devtools.js”但不是“devtool.js”。不能编辑
      猜你喜欢
      • 2019-03-20
      • 2020-12-06
      • 2013-12-08
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-22
      相关资源
      最近更新 更多