教你如何使用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 相关文章推荐
Prototype Hash对象 学习
Jul 19 Javascript
js 函数调用模式小结
Dec 26 Javascript
javascript 另一种图片滚动切换效果思路
Apr 20 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
Feb 16 Javascript
JQuery for与each性能比较分析
May 14 Javascript
jquery 定位input元素的几种方法小结
Jul 28 Javascript
javascript中处理时间戳为日期格式的方法
Jan 02 Javascript
基于JavaScript实现移除(删除)数组中指定元素
Jan 04 Javascript
jQuery数组处理函数整理
Aug 03 Javascript
微信小程序左右滑动的实现代码
Dec 15 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
基于javascript的无缝滚动动画1
Aug 07 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
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
PHP中foreach()用法汇总
2015/07/02 PHP
PHP实现文件上传和多文件上传
2015/12/24 PHP
Symfony2函数用法实例分析
2016/03/18 PHP
PHP判断数组是否为空的常用方法(五种方法)
2017/02/08 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
使用jQuery validate 验证注册表单实例演示
2013/03/25 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
2016/10/05 Javascript
JavaScript中浅讲ajax图文详解
2016/11/11 Javascript
vue组件学习教程
2017/09/09 Javascript
windows下更新npm和node的方法
2017/11/30 Javascript
JS基于递归实现网页版计算器的方法分析
2017/12/20 Javascript
JavaScript中的高级函数
2018/01/04 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
2018/08/14 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
2018/11/14 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
python批量添加zabbix Screens的两个脚本分享
2017/01/16 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
scrapy中如何设置应用cookies的方法(3种)
2020/09/22 Python
Python 中的函数装饰器和闭包详解
2021/02/06 Python
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
党支部公开承诺践诺书
2014/03/28 职场文书
个人存款证明书
2014/10/18 职场文书
一次性工伤赔偿协议书范本
2014/11/25 职场文书
签证工作证明模板
2015/06/15 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
js实现上传图片到服务器
2021/04/11 Javascript
js基础语法与maven项目配置教程案例
2021/07/15 Javascript