我需要创建转发代理(不是反向代理),Node有两个包.js http-proxy 和request
我不明白在创建代理的情况下,它们之间有什么区别?他们是在做完全相同的事情,还是有一些棘手的极端情况?
http-proxy
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
,因为它已经带有一些假设,即您专门创建反向/正向代理请求。