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);