我在一个带代理的公司环境中,所以我使用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来实现这一点。但是如何?
我尝试了所有我能想到的东西都无济于事。
答案 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)