基于v6.10.3版本
1. url
1.1 url的属性
1.2 url方法
format(obj):把obj转为string
parse(string):把string转为obj
2. queryString
2.1 parse和stringify函数
parse(string):把string转为obj
stringify(obj):把obj转为string这对函数跟JSON的两个同名函数相似。2.2 escape函数和unescape函数
escape(str):对str进行url编码
unescape(str):对str进行url解码这对函数同decodeURIComponent()和encodeURIComponent()作用相似。2. 接收get请求参数
var http = require('http');var url = require('url');var querystring = require('querystring');// 获取get请求参数并返回var server = http.createServer((req,res)=>{ // url解析为json对象 const urlObj = url.parse(req.url); // 取query,此时query为string const query= urlObj.query; // 把string形式的query转为对象,内置调用unescape进行url解码 const queryObj = querystring.parse(query); // json对象stringify化 const urlObjStr = JSON.stringify(urlObj); res.writeHead(200,{'content-type':'text/html;charset=utf-8'}); // 需要调用decodeURIComponent进行url解码 res.write(decodeURIComponent(urlObjStr)); res.write(JSON.stringify(queryObj)); res.end();});server.listen(3000);
3. 接受post参数 不包括文件上传
var http = require('http');var querystring = require('querystring');http.createServer((req, res) => { if (req.method == 'GET') { res.end('hello world'); } else if (req.method == 'POST') { console.log(req.headers);// 'content-type': 'application/x-www-form-urlencoded' var data=''; req.on('data', chunk => { data += chunk; }); req.on('end', () => { res.writeHead(200, {'content-type':'text/plane;charset=utf-8'}); res.end(querystring.unescape(data)); }); }}).listen(4000);