我想使用标准 http.Client
从 node.js 进行传出 HTTP 调用。但我无法直接从我的网络访问远程服务器,需要通过代理。
如何告诉 node.js 使用代理?
原文由 Christian Berg 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想使用标准 http.Client
从 node.js 进行传出 HTTP 调用。但我无法直接从我的网络访问远程服务器,需要通过代理。
如何告诉 node.js 使用代理?
原文由 Christian Berg 发布,翻译遵循 CC BY-SA 4.0 许可协议
编辑: 自 2020 年 2 月 11 日起,请求已完全弃用。预计不会有新的变化。
您可以使用 request ,我只是发现在 node.js 上使用代理非常容易,只需一个外部“代理”参数,它甚至通过 http 代理支持 HTTPS。
var request = require('request');
request({
'url':'https://anysite.you.want/sub/sub',
'method': "GET",
'proxy':'http://yourproxy:8087'
},function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
})
原文由 Imskull 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2.7k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
2 回答1.3k 阅读
2 回答671 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.2k 阅读
关于使用 HTTP 代理, Tim Macfarlane 的 回答 很接近。
使用 HTTP 代理(用于非安全请求)非常简单。您连接到代理并正常发出请求,除了路径部分包含完整的 url 并且主机标头设置为您要连接的主机。
蒂姆非常接近他的答案,但他错过了正确设置主机标题。
作为记录,他的答案确实适用于 http://nodejs.org/ 但那是因为他们的服务器不关心主机标头不正确。