所有通过Node-Webkit中的代理请求

时间:2015-03-19 09:00:50

标签: node.js authentication proxy request node-webkit

有没有办法强制Node-webkit为所有请求使用代理设置?我知道有一个使用setProxyConfig()的API解决方案,但这不适用于经过身份验证的代理,提示会显示登录但会在提交时崩溃...

所以我尝试使用节点request模块,它工作正常:

var request=require('request');
var proxy = request.defaults({'proxy':'http://login:pwd@proxy:port'});

但现在我的问题是告诉node-webkit将其用于每个请求。 任何解决方案?

我是使用node和node-webkit的新手,所以也许有更好的方法可以做到这一点。

非常感谢!

2 个答案:

答案 0 :(得分:1)

您可以尝试

process.env.http_proxy = 'http://login:pwd@proxy:port'

它将与request lib一起使用,也应该影响来自node-webkit(assets,ajax)的其他请求

但可能是其他库不使用环境代理设置。如果这不起作用,您可以尝试https://www.npmjs.com/package/global-tunnel

答案 1 :(得分:-1)

不确定这是否已解决,但我提出了一个简单的解决方案:

我为请求库编写了一个简单的包装器 https://gist.github.com/jodevsa/7dd9662b8244359fa0d7626ae7c9bd69

你所要做的就是,

  1. 前往$ PROJECT_DIR / node_modules / request /
  2. 将index.js重命名为core.js
  3. 创建一个名为index.js
  4. 的新文件
  5. 将上述要点链接中的代码内容复制到index.js
  6. 将proxyLoc值更改为您的首选代理
  7. 如果您决定禁用代理,只需在index.js

    中将ON变量的值更改为false

    干杯:D