在Fiddler中可以很好地捕获常规客户端发起的对节点服务器的请求 . 但是,不会捕获从节点发送到Web服务的请求 . 将代理配置(127.0.0.1:8888)传递给请求方法没有帮助 . 如何通过Fiddler路由请求消息?
var http = require('http');
var request = require('request');
request.get(webserviceURL, { "auth" : {"user": "user", "pass" = "pass", sendImmediately: true },
"proxy" : { "host" : "127.0.0.1", "port" : 8888 }},
function (error, response) { console.log( "response received" );
});
5 回答
我只是尝试自己这样做(使用Fiddler和来自npm的请求库) . 以下是我如何使用它:
这与Fiddler2使用默认端口和代理选项(并且没有代理身份验证) .
Fiddler的工作原理是将"Internet Options"(从开始菜单)"Connections"> "LAN Settings"> "Proxy Server"设置为其端口,从而使所有HTTP流量(客户端 obey 此设置)通过它 .
您应该指向node.js客户端lib以使用代理,在启动Fiddler之后,将在该选项对话框中编写设置 .
代理选项应该是一个完整的URL,如下所示:
要在不改变代码的情况下临时执行此操作,您可以使用环境变量 .
请求方面:
HTTP_PROXY
HTTPS_PROXY
NO_PROXY
因此,在运行流程之前,只需在控制台中设置这些代理 .
例如,要设置http和https代理使用:
后一行通过fiddler代理停止SSL问题 .
我一直想要相同的......相当于chrome DevTools中的
Network
标签,仅适用于Nodejs . 不幸的是,它并没有在Mac上使用Fiddler,所以这就是我如何使用require('http')
方法来记录和传递 . 离开这里以防我再次需要它或其他人发现它有用 . 您可以通过附加调试器和require('filename')()
包含此脚本的文件来打开它 .