Node.js get/post请求和工具模块

 

获取get请求

 

实例:

var http = require('http');
var
url = require('url');
var
util = require('util');

http.createServer(function (req,res) {
    res.
writeHead(200,{'Content-Type':'text/plain;charset = utf-8'});
   
res.end(util.inspect(url.parse(req.url,true)));
}).listen(6600);

 

解析:

创建一个本地服务器,调用回调函数,分别有两个参数req,res

Req:则为访问服务器时传递给服务器的信息

Res:为服务器对请求的返回

调用res.writeHead();来确定返回头信息

调用res.end()方法

util.inspect将

 

url.parse()解析请求的url的参数

urlString <string> 要解析的 URL 字符串。

parseQueryString <boolean> 如果为 true,则 query 属性总会通过 querystring 模块的 parse() 方法生成一个对象。 如果为 false,则返回的 URL 对象上的 query 属性会是一个未解析、未解码的字符串。 默认为 false

slashesDenoteHost <boolean> 如果为 true,则 // 之后至下一个 / 之前的字符串会被解析作为 host。 例如,//foo/bar 会被解析为 {host: 'foo', pathname: '/bar'} 而不是 {pathname: '//foo/bar'}。 默认为 false

 

url.parse() 方法会解析一个 URL 字符串并返回一个 URL 对象。

如果urlString不是字符串将会抛出TypeError

如果auth属性存在但无法编码则抛出URIError

 

 

response.end([data][, encoding][, callback])

data类型可以为缓冲区也可以为字符串

encoding:指定data的编码方式

callback:回调函数,无参数

 

如果指定了data,类似于

先调用response.write(data,encoding)在调用response.end()告诉服务器,回复已完成

 

 

运行结果:

 

 

Get请求

实例:

var http = require('http');
var
querystring = require('querystring');
var
util = require('util');

http.createServer(function (req,res) {
    var post = '';
   
req.on('data',function (chunk) {
        post += chunk;
   
});

   
req.on('end',function () {
        post = querystring.parse(post);
       
res.end(util.inspect(post));
   
});
}).listen(6600);

 

当接受到post请求的时候,会触发data时间,调用回调函数,接受post请求的所有信息并将它赋值给post变量。

当请求信息接受完的时候,会触发end时间,通过querystring.parse来解析post为真正的post请求格式。

 

 

常用模块列表

序号

模块名 & 描述

1

OS 模块
提供基本的系统操作函数。

2

Path 模块
提供了处理和转换文件路径的工具。

3

Net 模块
用于底层的网络通信。提供了服务端和客户端的的操作。

4

DNS 模块
用于解析域名。

5

Domain 模块
简化异步代码的异常处理,可以捕捉处理try catch无法捕捉的。

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/xxtnt/article/details/83245823