教你如何使用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 闭包深入理解(closure)
May 27 Javascript
js中parseInt函数浅谈
Jul 31 Javascript
javascript ready和load事件的区别示例介绍
Aug 30 Javascript
jQuery选择器全面总结
Jan 06 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
Jun 07 Javascript
jQuery实现的简单百分比进度条效果示例
Aug 01 Javascript
javascript中href和replace的比较(详解)
Nov 25 Javascript
详解如何用webpack4从零开始构建react开发环境
Jan 27 Javascript
Vue 进阶之路(三)
Apr 18 Javascript
微信小程序实现跳转的几种方式总结(推荐)
Apr 24 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
Jul 22 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
Aug 12 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
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
PHPUnit PHP测试框架安装方法
2011/03/23 PHP
利用浏览器的Javascript控制台调试PHP程序
2014/01/08 PHP
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
使用ob系列函数实现PHP网站页面静态化
2014/08/13 PHP
javascript生成/解析dom的CDATA类型的字段的代码
2007/04/22 Javascript
两个Javascript小tip资料
2010/11/23 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
JSON简介以及用法汇总
2016/02/21 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
js实现div在页面拖动效果
2016/05/04 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
JS数组去重的6种方法完整实例
2018/12/08 Javascript
js对象数组和对象的使用实例详解
2019/08/27 Javascript
原生JS实现贪吃蛇小游戏
2020/03/09 Javascript
[03:38]TI4西雅图DOTA2前线报道 71专访
2014/07/08 DOTA
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
Python中functools模块函数解析
2017/03/12 Python
Python利用Beautiful Soup模块修改内容方法示例
2017/03/27 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
python 代码实现k-means聚类分析的思路(不使用现成聚类库)
2020/06/01 Python
全球知名鞋履品牌授权零售商:Journeys
2016/09/17 全球购物
阿里旅行:飞猪
2017/01/05 全球购物
家得宝官网:The Home Depot(全球最大的家居装饰专业零售商)
2018/12/17 全球购物
FC-Moto西班牙:摩托车手最大的购物场所之一
2019/04/11 全球购物
高中生物教学反思
2014/02/05 职场文书
教师节演讲稿
2014/05/06 职场文书
小学校长先进事迹材料
2014/05/13 职场文书
亲子运动会的活动方案
2014/08/17 职场文书
群众路线个人整改措施
2014/10/24 职场文书
解决Python中的modf()函数取小数部分不准确问题
2021/05/28 Python
10大幻兽系恶魔果实 蝙蝠果实上榜,第一自愈能力强
2022/03/18 日漫