chu*_*ckj 46 javascript fiddler node.js
可以将node.js设置为识别代理(例如Fiddler)并通过代理路由所有ClientRequest吗?
我在Windows上使用节点,并希望调试http请求,就像我在浏览器中使用Fiddler for JavaScript一样.
请注意,我不是在尝试创建服务器接收的代理或代理请求.我想http.request()通过代理路由请求.如果我在浏览器中执行请求,我想使用Fiddler来检查请求和响应.
Nar*_*aen 53
我发现以下内容很漂亮.所述请求模块读取从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
Run Code Online (Sandbox Code Playgroud)
小智 24
要通过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) {
...
});
Run Code Online (Sandbox Code Playgroud)
如果要从节点监控传出请求,可以使用请求模块
并在这些选项中设置代理属性
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
});
Run Code Online (Sandbox Code Playgroud)
8888是fiddler的默认端口.
process.env.https_proxy = "http://127.0.0.1:8888";
process.env.http_proxy = "http://127.0.0.1:8888";
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
Run Code Online (Sandbox Code Playgroud)
回答我自己的问题:根据https://github.com/joyent/node/issues/1514 ,答案为no,但是您可以使用request模块http://search.npmjs.org/#/request,支持代理。
| 归档时间: |
|
| 查看次数: |
21178 次 |
| 最近记录: |