8

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

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

甚至可能吗?

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

感谢,并有一个愉快的一天。


编辑:

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

4

2 回答 2

11

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

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

清单.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"
}

开发工具.html

注册devtools.js以符合 CSP。

<html>

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

    <body></body>

</html>

开发工具.js

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

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

参考

于 2013-01-15T12:28:09.347 回答
1

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

于 2013-10-02T21:33:57.817 回答