8 行 Node.js 代码实现代理服务器

 

 
var express = require('express'); var request = require('request'); var app = express(); app.use('/', function(req, res) { var url = 'https://www.baidu.com/' + req.url; req.pipe(request(url)).pipe(res); }); app.listen(process.env.PORT || 3000); 

不到 10 行的代码,就实现了简单的代理服务器功能。是否是很神奇?
熟悉 Node.js 的话应该很容易看明白这几行代码。首先加载 express 模块,这个是建立 HTTP 服务器的一个流行框架。而后是 request,它封装了 HTTP 请求的各类方法,让发起请求变得很是容易。接下来实例化一个 express 对象,设置访问路由。最后监听 3000 端口。
先看效果。保存上述代码到文件 proxy.js,在文件所在路径执行:php

node proxy.js

用浏览器打开http://localhost:3000/css

 

关键代码在路由处理方法内。node

req.pipe(request(url)).pipe(res);
相关文章
相关标签/搜索