教你如何使用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代码
Dec 09 Javascript
JavaScript 判断浏览器是否支持SVG的代码
Mar 21 Javascript
用Jquery.load载入页面实现局部刷新
Jan 22 Javascript
简单谈谈javascript中的变量、作用域和内存问题
Aug 30 Javascript
Javascript基于AJAX回调函数传递参数实例分析
Dec 15 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
Jan 23 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
Aug 21 Javascript
从0开始学Vue
Oct 27 Javascript
ES6新特性之数组、Math和扩展操作符用法示例
Apr 01 Javascript
jquery ztree实现右键收藏功能
Nov 20 jQuery
用VueJS写一个Chrome浏览器插件的实现方法
Feb 27 Javascript
一起写一个即插即用的Vue Loading插件实现
Oct 31 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 大数据量及海量数据处理算法总结
2011/05/07 PHP
MySQL时间字段究竟使用INT还是DateTime的说明
2012/02/27 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
PHP命名空间namespace及use的简单用法分析
2018/08/03 PHP
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
IE的fireEvent方法概述及应用
2013/02/22 Javascript
jquery与prototype框架的详细对比
2013/11/21 Javascript
JS常见问题之为什么点击弹出的i总是最后一个
2016/01/05 Javascript
javascript中错误使用var造成undefined
2016/03/31 Javascript
详解jQuery中的empty、remove和detach
2016/04/11 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
微信小程序 本地图片按照屏幕尺寸处理
2017/08/04 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
js实现图片粘贴上传到服务器并展示的实例
2017/11/08 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
vue.js配合$.post从后台获取数据简单demo分享
2018/08/11 Javascript
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
使用Python抓取模板之家的CSS模板
2015/03/16 Python
Python的IDEL增加清屏功能实例
2017/06/19 Python
Python多进程multiprocessing.Pool类详解
2018/04/27 Python
Keras实现支持masking的Flatten层代码
2020/06/16 Python
python如何爬取动态网站
2020/09/09 Python
改变生活的男士内衣:SAXX Underwear
2019/08/28 全球购物
大学生学习自我评价
2014/01/13 职场文书
给老师的检讨书
2014/02/11 职场文书
党的群众路线学习材料
2014/05/16 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
苏州园林导游词
2015/02/03 职场文书
庭外和解协议书
2016/03/23 职场文书
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL