是否可以将node.js设置为识别代理(例如,Fiddler )并通过该代理路由所有客户端请求?
我在Windows上使用node,想要调试http请求,就像我在浏览器中使用Fiddler for JavaScript一样。
请清楚,我并不是要创建代理,也不是要创建由服务器接收的代理请求。我想通过代理来路由http.request()发出的请求。我想使用Fiddler来检查请求和响应,就像在浏览器中执行请求一样。
发布于 2012-04-05 21:02:16
要通过fiddler路由客户端请求,可以像这样修改options-object (例如:在创建http.request之前):
options.path = 'http://' + options.host + ':' + options.port + options.path;
options.headers.host = options.host;
options.host = '127.0.0.1';
options.port = 8888;
myReq = http.request(options, function (result) {
...
});发布于 2014-11-04 04:14:26
我发现下面的内容很棒。request模块从windows环境变量中读取代理信息。
在windows命令提示符下输入以下内容,将在shell的生命周期内设置它。您只需从这个shell运行您的节点应用程序。
set https_proxy=http://127.0.0.1:8888
set http_proxy=http://127.0.0.1:8888
set NODE_TLS_REJECT_UNAUTHORIZED=0发布于 2014-09-04 20:24:12
如果您想监控来自节点的传出请求,您可以使用request模块
只需在选项中设置代理属性,如下所示
request.post('http://204.145.74.56:3003/test', {
headers :{ 'content-type' : 'application/octet-stream'},
'body' : buf ,
proxy: 'http://127.0.0.1:8888'
}, function() {
//callback
});8888是fiddler的默认端口。
https://stackoverflow.com/questions/8697344
复制相似问题