从 Chrome 扩展程序中访问响应负载/数据

问题描述 投票:0回答:2

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

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

这可能吗?

请随时发布任何可能有帮助的想法或参考。

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


编辑:

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

google-chrome google-chrome-extension google-chrome-devtools httpwebresponse
2个回答
13
投票

网络面板HARHTTP存档格式日志的HTML表示。您可以使用

devtools.network API
追踪网络面板的每个元素。

您可以参考以下代码,其中正在跟踪TCP连接时间作为开始使用

devtools.network API
HAR 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>

devtools.js

以下代码中的

req返回HAR Log,您可以使用它来读取您需要的内容;我在这里使用了 HAR TCP 连接时间

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

  • devtools.network API
  • 哈尔日志
  • 网络面板
  • 内容安全策略(CSP)

2
投票
devtools.network API 仅在开发人员工具窗口打开时才起作用。对于日常浏览,无法访问响应数据。有一个打开的

功能请求,讨论读取/编辑响应正文。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.