从chrome扩展中访问响应有效负载/数据

时间:2013-01-14 19:59:02

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

我正在开发一个项目,要求从某个站点跟踪“ajax ones”请求,访问其中一些请求的响应有效负载并对其进行操作。

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

甚至可能吗?。

请随时发布任何有用的想法或参考资料。

谢谢你,祝你有个愉快的一天。


修改

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

2 个答案:

答案 0 :(得分:7)

网络面板 HAR HTTP存档格式日志的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,您可以使用它来阅读您需要的内容;我在这里使用了HAR TCP Connection time

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

参考

答案 1 :(得分:1)

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