Hubot:如何指定robot.http使用的代理

时间:2018-05-24 12:48:59

标签: node.js proxy hubot

我在一个带代理的公司环境中,所以我使用Hubot documentation中提到的“通过代理转发所有HTTP请求”下的节。

proxy = require 'proxy-agent'
module.exports = (robot) ->
  robot.globalHttpOptions.httpAgent  = proxy('http://my-proxy-server.internal', false)
  robot.globalHttpOptions.httpsAgent = proxy('http://my-proxy-server.internal', true)

这就是技巧和Hubot可以上网。

编辑:同时出现了另一个问题。 proxy的第二个参数是什么(http的false和https的true呢?我在文档和源代码中找不到这个?

但是,我也有一些(内部)资源无法通过代理访问。所以我有咖啡脚本我想要/不能使用代理......

同一位Hubot documentation(同一部分)也指出:

  

对于一次性控制,使用可以指定要与robot.http一起使用的代理。

无视我认为的错误(use确实应该是you,我猜),我想知道 可以做什么?

我基本上想要禁用来自这些“内部脚本”的请求的代理。我认为应该可以通过指定我想使用默认的Agent来实现这一点。但是如何?

我尝试了所有我能想到的东西都无济于事。

1 个答案:

答案 0 :(得分:0)

通过使用pac+http作为指定代理的协议,我能够使代理“感知”。这就行了!

proxy = require 'proxy-agent'
module.exports = (robot) ->
  robot.globalHttpOptions.httpAgent  = proxy('pac+http://my-proxy-server.internal/proxy.pac', false)
  robot.globalHttpOptions.httpsAgent = proxy('pac+http://my-proxy- server.internal/proxy.pac', true)