HTTP实现一个代理服务器:
首先创建一个HTTP服务器,当服务器接收到客户端请求后,向http://www.amazon.cn网站请求数据,当从该网站接收到响应数据后,将响应数据发送给客户端,执行该段脚本,然后在浏览器中输入localhost:1337地址,地址栏不变,但是显示的是亚马逊中国的首页,这样,就用Node.js完成了一个代理服务器
var http = require('http');
var url = require('url');
var server = http.createServer(function(sreq,sres){
var url_parts = url.parse(sreq.url);
var opts = {
host : 'www.amazon.cn',
port : 80,
path : url_parts.pathname,
headers : sreq.headers
}
var creq = http.get(opts,function(cres){
sres.writeHead(cres.statusCode,cres.headers);
cres.pipe(sres);
})
sreq.pipe(creq);
})
server.listen(1337,'127.0.0.1');