我想使用standard从node.js发出传出HTTP调用http.Client。但是我无法直接从网络访问远程服务器,需要通过代理。
http.Client
如何告诉node.js使用代理?
关于使用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/,但这是因为他们的服务器不在乎主机头是否正确。