基於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);