教你如何使用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 相关文章推荐
用JavaScript隐藏控件的方法
Sep 21 Javascript
JavaScript获取onclick、onchange等事件值的代码
Jul 22 Javascript
javascript比较两个日期相差天数的方法
Jul 23 Javascript
js判断浏览器类型及设备(移动页面开发)
Jul 30 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
Sep 09 Javascript
浅谈vue路径优化之resolve
Oct 13 Javascript
微信小程序 scroll-view实现锚点滑动的示例
Dec 06 Javascript
深入理解JavaScript和TypeScript中的class
Apr 22 Javascript
JS隐藏号码中间4位代码实例
Apr 09 Javascript
vue input标签通用指令校验的实现
Nov 05 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
Sep 08 Javascript
vue打开新窗口并实现传参的图文实例
Mar 04 Vue.js
浅析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
40个迹象表明你还是PHP菜鸟
2008/09/29 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
2016/12/05 PHP
Yii框架视图、视图布局、视图数据块操作示例
2019/10/14 PHP
jquery获取焦点和失去焦点事件代码
2013/04/21 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
javascript面向对象之this关键词用法分析
2015/01/13 Javascript
浅谈jQuery中setInterval()方法
2015/07/07 Javascript
浅谈Node.js:理解stream
2016/12/08 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
React中使用UMEditor的方法示例
2019/12/27 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
Python生成验证码实例
2014/08/21 Python
Python内置函数Type()函数一个有趣的用法
2015/02/18 Python
Python网页解析利器BeautifulSoup安装使用介绍
2015/03/17 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
Python连接mysql数据库的正确姿势
2016/02/03 Python
python 动态加载的实现方法
2017/12/22 Python
Sanic框架请求与响应实例分析
2018/07/16 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
PyCharm MySQL可视化Database配置过程图解
2020/06/09 Python
英国医生在线预约:Top Doctors
2019/10/30 全球购物
药学专业大专生的自我评价
2013/12/12 职场文书
主持人婚宴答谢词
2014/01/28 职场文书
毕业生如何写自荐信
2014/03/26 职场文书
幸福中国演讲稿
2014/09/12 职场文书
2015年试用期工作总结
2014/12/12 职场文书
涨工资申请书应该怎么写?
2019/07/08 职场文书
Pytorch中的学习率衰减及其用法详解
2021/06/05 Python
Python 多线程处理任务实例
2021/11/07 Python
JVM之方法返回地址详解
2022/02/28 Java/Android
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang
maven 解包依赖项中的文件的解决方法
2022/07/15 Java/Android