教你如何使用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与flash交互通信基础教程
Aug 07 Javascript
struts2 jquery 打造无限层次的树
Oct 23 Javascript
javascript写的一个链表实现代码
Oct 25 Javascript
javascript如何判断输入的url是否正确
Apr 11 Javascript
javascript引用赋值(地址传值)用法实例
Jan 13 Javascript
Javascript中的方法链(Method Chaining)介绍
Mar 15 Javascript
简介JavaScript中的push()方法的使用
Jun 09 Javascript
基于vue.js实现侧边菜单栏
Mar 20 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
Apr 18 Javascript
vue项目打包后上传至GitHub并实现github-pages的预览
May 06 Javascript
微信小程序发布新版本时自动提示用户更新的方法
Jun 07 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
Feb 18 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
php上传文件,创建递归目录的实例代码
2013/10/18 PHP
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
php中创建和调用webservice接口示例
2014/07/25 PHP
php版本的cron定时任务执行器使用实例
2014/08/19 PHP
php实现比较全的数据库操作类
2015/06/18 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
php mysql数据库操作类(实例讲解)
2017/08/06 PHP
js中查找最近的共有祖先元素的实现代码
2010/12/30 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
2014/11/26 Javascript
JavaScript中的数学运算介绍
2014/12/29 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
jquery验证邮箱格式并显示提交按钮
2015/11/07 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
JS判断数组里是否有重复元素的方法小结
2019/05/21 Javascript
前后端常见的几种鉴权方式(小结)
2019/08/04 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
2020/03/06 Javascript
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
高性能web服务器框架Tornado简单实现restful接口及开发实例
2014/07/16 Python
Python读取网页内容的方法
2015/07/30 Python
python框架django基础指南
2016/09/08 Python
python绘制简单折线图代码示例
2017/12/19 Python
基于python3 OpenCV3实现静态图片人脸识别
2018/05/25 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
关于pycharm中pip版本10.0无法使用的解决办法
2019/10/10 Python
python主线程与子线程的结束顺序实例解析
2019/12/17 Python
python微信公众号开发简单流程实现
2020/03/09 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
python 发送邮件的四种方法汇总
2020/12/02 Python
婴儿地球:Baby Earth
2018/12/25 全球购物
校园门卫岗位职责
2013/12/09 职场文书
保护环境建议书300字
2014/05/13 职场文书
品牌推广活动策划方案
2014/08/19 职场文书
优秀教师事迹材料
2014/12/15 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL