HTTP制作代理服务器
2015-09-28 15:15
309 查看
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');
首先创建一个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');
相关文章推荐
- wget下载网络图片
- Altium Designer(Protel)网络连接方式Port和Net Label详解
- HTTP 头部详细解释
- HTTP向本地服务器请求数据
- https://ruby.taobao.org/
- http & https
- HTTP & HTTPs
- 【Android应用开发技术:网络通信】计算机网络基础
- 计算机各层网络协议
- hdu 5493 Queue 2015合肥网络赛 树状数组 二分 离散化 贪心
- 解决方法:android 6.0(api 23) SDK,不再提供org.apache.http.*(只保留几个类)
- linux系统/var/log目录下的信息详解 http://blog.chinaunix.net/uid-24250828-id-3198922.html
- Linux学习笔记——网络属性管理
- 关于新型漏洞https cookie注入漏洞攻击剖析
- 关于ios9网络安全问题
- hdu 5492 Find a path 2015合肥网络赛 dp 数学
- iscsi详解&&配置
- iOS开发 ----- 网络请求5 ----- NSURLsession实现上传数据
- boost::asio网络编程(同步)
- 如何解决ubuntu 12.04重启后出现waiting for network configuration和网络标志消失问题