Hubot:如何指定 robot.http 要使用的代理
Hubot: How to specify the agent to be used by robot.http
我在一个有代理的公司环境中,所以我使用 "Forwarding all HTTP requests through a proxy" 下的 Hubot documentation 中提到的节。
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 可以连接到 Internet。
编辑:同时出现另一个问题。 proxy
(http 为 false
,https 为 true
)的第二个参数在做什么?我在文档和源代码中找不到这个?
但是,我也有一些无法通过代理访问的(内部)资源。所以我有咖啡脚本不想要to/cannot使用代理...
Hubot documentation 的同一位(同一节)还指出:
For one-off control, use can specify an Agent to use with robot.http.
忽略我认为的错字(use
真的应该是 you
,我想),我想知道 如何 可以做到?
我基本上想禁用 来自这些"internal scripts" 的请求的代理。我认为这应该可以通过指定我想使用默认值 Agent 来实现。但是怎么办?
我尝试了所有我能想出的办法,但都无济于事。
我能够通过使用 pac+http
作为指定代理的协议来使代理 "pac aware"。成功了!
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)
我在一个有代理的公司环境中,所以我使用 "Forwarding all HTTP requests through a proxy" 下的 Hubot documentation 中提到的节。
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 可以连接到 Internet。
编辑:同时出现另一个问题。 proxy
(http 为 false
,https 为 true
)的第二个参数在做什么?我在文档和源代码中找不到这个?
但是,我也有一些无法通过代理访问的(内部)资源。所以我有咖啡脚本不想要to/cannot使用代理...
Hubot documentation 的同一位(同一节)还指出:
For one-off control, use can specify an Agent to use with robot.http.
忽略我认为的错字(use
真的应该是 you
,我想),我想知道 如何 可以做到?
我基本上想禁用 来自这些"internal scripts" 的请求的代理。我认为这应该可以通过指定我想使用默认值 Agent 来实现。但是怎么办?
我尝试了所有我能想出的办法,但都无济于事。
我能够通过使用 pac+http
作为指定代理的协议来使代理 "pac aware"。成功了!
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)