教你如何使用node.js制作代理服务器


Posted in Javascript onNovember 26, 2014

下面代码实现的功能是这样的:

首先创建一个HTTP服务器,当服务器接收到客户端的请求后,向"www.taobao.com"网站请求数据,当从该网站接受到的响应数据后,将响应数据发送给客户端.

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.taobao.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", function () {

    console.log("开始监听"+server.address().port+"......");

});

运行代码后,在浏览器端运行程序:

教你如何使用node.js制作代理服务器

发现没有,界面是淘宝的官网,但是地址确实变成我们本地的了.

是不是很好玩的样子呢,其实node.js可以做很多的事情,小伙伴们自己去开发吧。

Javascript 相关文章推荐
获取焦点时,利用js定时器设定时间执行动作
Apr 02 Javascript
jQuery插件-jRating评分插件源码分析及使用方法
Dec 28 Javascript
javascript自动给文本url地址增加链接的方法分享
Jan 20 Javascript
jquery动态更换设置背景图的方法
Mar 25 Javascript
js限制checkbox选中个数以限制六个为例
Jul 15 Javascript
JS实现的手机端精简幻灯片效果
Sep 05 Javascript
JS判断浏览器是否安装flash插件的简单方法
Sep 13 Javascript
DOM事件探秘篇
Feb 15 Javascript
vue货币过滤器的实现方法
Apr 01 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
May 28 jQuery
详解vue 动态加载并注册组件且通过 render动态创建该组件
May 30 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
Sep 26 Javascript
浅析node.js中close事件
Nov 26 #Javascript
node.js超时timeout详解
Nov 26 #Javascript
node.js+Ajax实现获取HTTP服务器返回数据
Nov 26 #Javascript
使用node.js 获取客户端信息代码分享
Nov 26 #Javascript
node+express+jade制作简单网站指南
Nov 26 #Javascript
JS简单操作select和dropdownlist实例
Nov 26 #Javascript
node+express+ejs制作简单页面上手指南
Nov 26 #Javascript
You might like
php批量缩放图片的代码[ini参数控制]
2011/02/11 PHP
用Php编写注册后Email激活验证的实例代码
2013/03/11 PHP
js资料toString 方法
2007/03/13 Javascript
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
主页面中的两个iframe实现鼠标拖动改变其大小
2013/04/16 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
Angular2 环境配置详细介绍
2016/09/21 Javascript
jQuery基于排序功能实现上移、下移的方法
2016/11/26 Javascript
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
Vue使用Proxy监听所有接口状态的方法实现
2019/06/07 Javascript
vue使用高德地图根据坐标定位点的实现代码
2019/08/22 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
Python实现的HTTP并发测试完整示例
2020/04/23 Python
浅谈Python中函数的参数传递
2016/06/21 Python
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
Python爬取网页中的图片(搜狗图片)详解
2017/03/23 Python
python微信公众号开发简单流程实现
2020/03/09 Python
python3利用Axes3D库画3D模型图
2020/03/25 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
2020/05/10 Python
python 检测图片是否有马赛克
2020/12/01 Python
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
英国著名国际平价时尚男装品牌:Topman
2016/08/27 全球购物
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
客户代表自我评价范例
2013/09/24 职场文书
留学推荐信写作指南
2014/01/25 职场文书
战略合作协议书范本
2014/04/18 职场文书
政治学求职信
2014/06/03 职场文书
英语课前三分钟演讲稿
2014/08/19 职场文书
银行开户授权委托书格式
2014/10/10 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
Python if else条件语句形式详解
2022/03/24 Python
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android