如何监控类似于Chrome / Firefox开发人员工具的node.js上的networking?

在开发客户端JavaScript应用程序时,开发人员networking面板对于debuggingnetworking问题非常重要:

在这里输入图像描述

创buildNodeJS应用程序的开发人员如何监控从nodejs应用程序到http / https服务器的networkingstream量? 例如如何debugging以下networkingstream量?

var http = require('http'); var req = http.request ... req.write ... req.send() 

我的代码正在打给第三方的https服务器,所以我无法使用wireshark或类似的数据包嗅探工具。

欲了解更多信息,我试图调查的问题在这里 。

编辑:

这里有类似的问题,要求如何在其他语言中做同样的事情:

  • PYTHON: 我怎样才能看到我的Python应用程序发送的整个HTTP请求?
  • JAVA: 如何在Android上启用Apache公共HttpClient日志logging

我知道这不是很好,但是你可以在你的请求调用中始终在控制台上输出响应头的内容:

 var req = https.request(options, function(res) { console.log("statusCode: ", res.statusCode); console.log("headers: ", res.headers); res.on('data', function(d) { process.stdout.write(d); }); }); 

然而,你的原始问题不是关于服务器端的问题,而是节点代码本身的问题,所以这里没有太多的用处。

使用外部HTTPdebugging工具。 您的select包括:

您启动其中一个,告诉他们在哪里路由stream量,并指出您的应用程序在该debugging代理,而不是真正的服务器。

我来到这个问题寻找类似的东西,但我使用的request包。 在这种情况下,您只需在代码中包含以下行:

require('request-debug')(request);

(确保安装了请求debugging软件包)

这将打印所有请求数据到控制台。

如果您使用的节点版本早于节点8,那么我是节点检查员的忠实粉丝:

https://github.com/node-inspector/node-inspector

我相信它有你正在寻找的一切: 在这里输入图像描述