教你如何使用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 相关文章推荐
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
May 07 Javascript
JavaScript版TAB选项卡效果实例
Aug 16 Javascript
JavaScript两种跨域技术全面介绍
Apr 16 Javascript
jQuery操作select下拉框的text值和value值的方法
May 31 Javascript
jQuery中:first选择器用法实例
Dec 30 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
Dec 21 Javascript
js和jquery中获取非行间样式
May 05 jQuery
ReactNative实现图片上传功能的示例代码
Jul 11 Javascript
ES6使用Set数据结构实现数组的交集、并集、差集功能示例
Oct 31 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
Apr 26 jQuery
基于three.js实现的3D粒子动效实例代码
Apr 09 Javascript
微信小程序实现电子签名并导出图片
May 27 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
短波的认识
2021/03/01 无线电
一个PHP分页类的代码
2011/05/18 PHP
ThinkPHP之R方法实例详解
2014/06/20 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
jquery实现弹出层完美居中效果
2014/03/03 Javascript
js读写json文件实例代码
2014/10/21 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
jQuery实现Tab菜单滚动切换的方法
2015/09/21 Javascript
微信小程序使用第三方库Immutable.js实例详解
2016/09/27 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
2017/06/26 Javascript
详谈构造函数加括号与不加括号的区别
2017/10/26 Javascript
vue2.0 中使用transition实现动画效果使用心得
2018/08/13 Javascript
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
2019/10/30 Javascript
vue 解决form表单提交但不跳转页面的问题
2019/10/30 Javascript
Vuejs中的watch实例详解(监听者)
2020/01/05 Javascript
python递归删除指定目录及其所有内容的方法
2017/01/13 Python
使用Python进行AES加密和解密的示例代码
2018/02/02 Python
Python入门之后再看点什么好?
2018/03/05 Python
利用python如何在前程无忧高效投递简历
2019/05/07 Python
详解使用python绘制混淆矩阵(confusion_matrix)
2019/07/14 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
TensorFlow梯度求解tf.gradients实例
2020/02/04 Python
Python函数基本使用原理详解
2020/03/19 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
晚会闭幕词
2015/01/28 职场文书
蜗居观后感
2015/06/11 职场文书
大学生党课感想
2015/08/11 职场文书
2019年个人工作总结范文(3篇)
2019/08/27 职场文书