我需要创建转发代理(不是反向代理),Node.js 有两个包 http-proxy和 request
我不明白创建代理的情况下有什么区别?他们的做法完全相同,还是存在一些棘手的极端情况?
http 代理
var http = require('http');
var proxy = require('http-proxy').createProxyServer();
http.createServer(function(req, res) {
proxy.web(req, res, {
target: "http://" + req.headers.host
});
}).listen(3000, 'localhost');
请求
var http = require('http');
var request = require('request');
http.createServer(function(req, res) {
req.pipe(request(req.url)).pipe(res);
}).listen(3000, 'localhost');
最佳答案
您给出的两个示例在功能上是相同的,但我仍然更喜欢 http-proxy
,因为它已经假设您专门创建反向/转发代理请求。
关于node.js - "http-proxy"和 "request"之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29716535/