node.js - "http-proxy"和 "request"之间有什么区别?

标签 node.js proxy request io.js

我需要创建转发代理(不是反向代理),Node.js 有两个包 http-proxyrequest

我不明白创建代理的情况下有什么区别?他们的做法完全相同,还是存在一些棘手的极端情况?

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/

相关文章:

javascript - 如何在 Jade 中选择一个选项?

node.js - socket.io 在客户端不工作(传输错误)

node.js - freenom API 未进行身份验证

web-services - Azure Web 应用的静态出站 IP

android - Android 代理设置是否适用于设备上的所有应用?

java - 如何在java中发送http get请求并获取特定字段

node.js - 简单对等 WebRTC 错误 : Ice connection failed

android - 在不重启安卓设备的情况下移除全局 http_proxy

asp.net - 使用传输编码 : chunked fails in IIS 8. 5 Web API 进行 POST

ios - NSURLRequest超时间隔默认时间