一尘不染

如何将HTTP代理与node.js http.Client一起使用?

node.js

我想使用standard从node.js发出传出HTTP调用http.Client。但是我无法直接从网络访问远程服务器,需要通过代理。

如何告诉node.js使用代理?


阅读 271

收藏
2020-07-07

共1个答案

一尘不染

关于使用HTTP代理,Tim
Macfarlane
答案很接近。

使用HTTP代理(用于非安全请求)非常简单。您连接到代理并正常发出请求,只是路径部分包含完整的url,并且主机标头设置为您要连接的主机。
Tim与他的回答非常接近,但是他错过了正确设置主机头的操作。

var http = require("http");

var options = {
  host: "proxy",
  port: 8080,
  path: "http://www.google.com",
  headers: {
    Host: "www.google.com"
  }
};
http.get(options, function(res) {
  console.log(res);
  res.pipe(process.stdout);
});

记录下来,他的答案确实适用于http://nodejs.org/,但这是因为他们的服务器不在乎主机头是否正确。

2020-07-07