Chr*_*now 32 javascript https node.js google-chrome-devtools
在开发客户端javascript应用程序时,开发人员网络面板对于调试网络问题非常有用:

创建NodeJS应用程序的开发人员如何监控从nodejs应用程序到http/https服务器的网络流量?例如,如何调试以下网络流量?
var http = require('http');
var req = http.request ...
req.write ...
req.send()
Run Code Online (Sandbox Code Playgroud)
我的代码正在调用第三方https服务器,因此我无法使用wireshark或类似的数据包嗅探工具.
有关更多信息,我正在尝试调查的问题在这里.
编辑:
以下是有关如何在其他语言中执行相同操作的类似问题:
使用外部HTTP调试工具.您的选择包括:
您启动其中一个,告诉他们在哪里路由流量,并将您的应用程序指向该调试代理而不是真实服务器.
如果您只需要查看传出流量的 URL 及其原因,您可以使用 debugging-aid
npm i -D debugging-aid
node --require debugging-aid/network app.js
Run Code Online (Sandbox Code Playgroud)
结果控制台输出可能如下所示:
[aid] network, outgoing to: http://example.com/
stack: at Agent.createSocket (_http_agent.js:234:26)
at Agent.addRequest (_http_agent.js:193:10)
at new ClientRequest (_http_client.js:277:16)
at Object.request (http.js:44:10)
at Request.start (myapp-path/node_modules/request/request.js:751:32)
at Request.end (myapp-path/node_modules/request/request.js:1511:10)
[aid] network, outgoing to: http://example.com/
stack: at Agent.createSocket (_http_agent.js:234:26)
at Agent.addRequest (_http_agent.js:193:10)
at new ClientRequest (_http_client.js:277:16)
at Object.request (http.js:44:10)
at get (myapp-path/node_modules/got/source/request-as-event-emitter.js:234:22)
at Immediate.<anonymous> (myapp-path/node_modules/got/source/request-as-event-emitter.js:305:10)
Run Code Online (Sandbox Code Playgroud)
免责声明:
我是debugging-aid的作者
这个答案是在debugging-aid版本0.2.1时写的
我知道这并不漂亮,但您始终可以在请求调用内的控制台上输出响应标头的内容:
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);
});
});
Run Code Online (Sandbox Code Playgroud)
然而,您最初的问题不是关于服务器端的问题,而是关于节点代码本身的问题,因此这在这里没有多大用处。
| 归档时间: |
|
| 查看次数: |
16899 次 |
| 最近记录: |