如何覆盖node.js http以使用代理来处理所有出站请求

ato*_*757 7 proxy node.js

我最近创建了一个node.js应用程序,它可以访问社交媒体网站并缓存我们的公共供稿.我正在使用一些现有的npm模块来方便访问社交媒体API.它在我的开发环境中就像一个魅力,但在我们的生产环境中,请求超时是因为它们需要通过代理.

无需修改npm模块,如何使出站请求通过代理?

Jas*_*ung 3

使用 http.globalAgent 属性。这将使您拦截进程中运行的所有请求。然后,您可以修改这些请求,使其格式适合代理服务器。

http://nodejs.org/api/http.html#http_http_globalagent

另一种选择是为该应用程序创建代理异常。

  • 你能举一个使用 http.globalAgent 的例子吗?我可以将 `{ host: 'http.proxy.somewhere.com', port: 1234, path: 'http://www.google.com'}` 传递为这些选项适用于我自己的获取请求,但我尝试过 `http.globalAgent.options = { host: 'http.proxy.somewhere.com', port: 1234};` 其中我的公司代理是 `http:// http.proxy.somewhere.com:1234` 并且不起作用 (4认同)
  • 是的,请提供一个通过使用 globalAgent 的代理路由所有出站请求的示例。 (3认同)