获取get的请求内容

 /**
* Created by Administrator on 2016/8/5.
*/
var http = require("http");
var url = require("url");
var util = require("util");
function start(req, res){
res.writeHead("200", {"Content-type": "text/plain"});
//url.parse(): url.parse原始的 path 被解析为一个对象
//util.inspect(): 将对象转换为字符串
res.end(util.inspect(url.parse(req.url, true)));
}
var server = http.createServer(start).listen("3000", "127.1.1.1",function(){
var port = server.address().port;
var host = server.address().address;
console.log("%s:%d",host,port);
});

在浏览器输入:http://127.1.1.1:3000/user?name=leeanna&age=23&sex=man

得到结果为:

Url {
protocol: null,
slashes: null,
auth: null,
host: null,
port: null,
hostname: null,
hash: null,
search: '?name=leeanna&age=23&sex=man',
query: { name: 'leeanna', age: '23', sex: 'man' },
pathname: '/user',
path: '/user?name=leeanna&age=23&sex=man',
href: '/user?name=leeanna&age=23&sex=man' }

获取post的请求数据【POST 请求的内容全部都在请求体中】

/**
* Created by Administrator on 2016/8/5.
*/
var http = require("http");
var querystring = require("querystring");
var util = require("util");
function start(req, res){
var post = "";
//当请求体数据到来时,该事件被触发。该事件提供一个参数 chunk,表示接收到的数据
res.on("data", function(chunk){
post += chunk; //请求体可能相对较长,需要一定的时间传输,可能会被调用多次
});
//end :当请求体数据传输完成时,该事件被触发,此后将不会再有数据到来。
res.on("end", function(){
//querystring.parse 将 post 解析为真正的 POST 请求格式
post = querystring.parse(post);
res.end(util.inspect(post));
});
}
var server = http.createServer(start).listen("3001", "127.1.1.1",function(){
var port = server.address().port;
var host = server.address().address;
console.log("%s:%d",host,port);
});

上面的示例仅帮助理解,实际应用中不会如此简单。

node中的get请求和post请求的不同操作【node学习第五篇】的更多相关文章

  1. 前端ajax中运用post请求和get请求之于session验证

    首先我们来看下ajax两种请求的区别: Ajax中POST和GET的区别Get和Post都是向服务器发送的一种请求,只是发送机制不同. 1. GET请求会将参数跟在URL后进行传递,而POST请求则是 ...

  2. springMVC 中 ajax get 请求和 post 请求的坑以及参数传递

    1, ajax 请求 无论为 post ,或者 get ,url中带有?形式的参数,后台都能以String类型变量接收,变量名称和参数名称必须一致 前台ajax: $.ajax( "prod ...

  3. iOS开发中的Get请求和POST请求

    //Get请求一般为不涉及到用户的账号密码的网络请求,其中Get请求是等请求内容回来之后,才可以进行下一步的操作 - (void)requestWithGet{ //Get请求: //1.设置请求路径 ...

  4. haproxy 中的http请求和https请求

    use Mojolicious::Lite; use JSON qw/encode_json decode_json/; use Encode; no strict; use JSON; # /foo ...

  5. GET 请求和 POST 请求的区别和使用

    作为前端开发, HTTP 中的 POST 请求和 GET 请求是经常会用到的东西,有的人可能知道,但对其原理和如何使用并不特别清楚,那么今天来浅谈一下两者的区别与如何使用. GET请求和POST请求的 ...

  6. Ajax中get请求和post请求

    我们在使用Ajax向服务器发送数据时,可以采用Get方式请求服务器,也可以使用Post方式请求服务器,那么什么时候该采用Get方式,什么时候该采用Post方式呢? Get请求和Post请求的区别: 1 ...

  7. JSP、Servlet中get请求和post请求的区别总结

    在学习JavaWeb最初的开始阶段,大家都会遇到HttpServlet中的doGet和doPost方法.前两天看<Head First Servlets & JSP>看到其中讲关于 ...

  8. js中ajax连接服务器open函数的另外两个默认参数get请求和默认异步(open的post方式send函数带参数)(post请求和get请求区别:get:快、简单 post:安全,量大,不缓存)(服务器同步和异步区别:同步:等待服务器响应当中浏览器不能做别的事情)(ajax和jquery一起用的)

    js中ajax连接服务器open函数的另外两个默认参数get请求和默认异步(open的post方式send函数带参数)(post请求和get请求区别:get:快.简单 post:安全,量大,不缓存)( ...

  9. axios中出现两次请求,OPTIONS请求和GET请求

    在项目中发现ajax中出现两次请求,OPTIONS请求和GET请求 查看到浏览器NetWork有两次请求,请求url一样: 查找原因是浏览器对简单跨域请求和复杂跨域请求的处理区别. XMLHttpRe ...

随机推荐

  1. Controller中获取输入参数注解使用总结

    1.处理request的uri部分的参数(即restful访问方式):@PathVariable. 当使用restful访问方式时, 即 someUrl/{paramId}, 这时的参数可通过 @Pa ...

  2. Proud Merchants(01背包)

    Proud Merchants Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 131072/65536K (Java/Other) To ...

  3. Little Zu Chongzhi's Triangles

    Little Zu Chongzhi's Triangles Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 512000/512000 ...

  4. ASP.NET mvc4 WEB API异常处理

    当一个web api抛出一个异常后 此异常会被转化成一个HTTP响应 错误代码为500的服务错误 但是如果你不想让客户端看到500的错误码 你也可以自定义错误码 如下代码当用户输入的ID没有与之相关的 ...

  5. AngularJS 实战讲义笔记

    第一部分 快速上手 1.1 感受AngularJs四大核心特性(MVC, 模块化,指令系统,双向数据绑定)1.2 搭建自动化的前端开发,调试,测试环境 代码编辑工具 (sublime) 断点调试工具 ...

  6. 相比于python2.6,python3.0的新特性。

    这篇文章主要介绍了相比于python2.6,python3.0的新特性.更详细的介绍请参见python3.0的文档. Common Stumbling Blocks 本段简单的列出容易使人出错的变动. ...

  7. linux 图形界面切换

    开机为文本界面,由文本界面切换到图形界面:    方法1:运行命令          #startx , 需要先配置图形界面信息,(暂时不会~) :    方法2:修改/etc/inittab文件中的 ...

  8. 已经包含了#include <atlcom.h> #include <comutil.h>还是报错

    在WTL工程的.h中 #include <atlbase.h>#include <atlcom.h>#include <atlcomcli.h>#include & ...

  9. Linux系统管理员不可不知的命令:sudo

    对Linux系统管理员或高级用户而言,sudo是必不可少的最重要的命令之一.当我们想要运行重要任务时,sudo提供了安全的提升权限.请耐心读本文,看看sudo能为你做些什么. sudo是个统管一切的命 ...

  10. 添加nginx为系统服务(service nginx start/stop/restart)

    1.在/etc/init.d/目录下编写脚本,名为nginx #!/bin/sh # # nginx - this script starts and stops the nginx daemon # ...