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);
相關文章
相關標籤/搜索