简单的get请求例子
const http=require('http');
const url=require('url')
let server=http.createServer((req, res)=>{
console.log(req.url) // /aaa?user=111&name=22222
let{pathname,query}=url.parse(req.url)
console.log(pathname,query)// /aaa,user=111&name=22222
res.end()
})
server.listen(8080)
简单的post请求例子
const http=require('http');
const url=require('url');
const querystring=require('querystring')
let server=http.createServer((req, res)=>{
let str=''
req.on('data',data=>{
str+=data
})
//结束
req.on('end',data=>{
let post=querystring.parse(str)
console.log(str,post) //name=111&pass=213123 { name: '111', pass: '213123' }
})
res.end()
})
server.listen(8080)
// 整个url
url.parse("/aaa/bbb?a=12&b=5")
// 数据
querystring.parse(“a=12&b=5”)
用户注册:
/reg?user=xxx&pass=xxx
=>{err: 0, msg: ‘说明’}
用户登陆:
/login?user=xxx&pass=xxx
=>{err: 0, msg: ‘说明’}
const http=require('http');
const url=require('url');
const querystring=require('querystring');
const fs=require('fs')
let server=http.createServer((req, res)=>{
//GET
let {pathname, query}=url.parse(req.url, true);
//POST
let str='';
req.on('data', data=>{
str+=data;
});
req.on('end', ()=>{
let post=querystring.parse(str);
//
switch(pathname){
case '/reg': //注册
let {user,pass}=query
if(!user){
res.write('{"err": 1, "msg": "user is required"}');
}else if(!pass){
res.write('{"err": 1, "msg": "pass is required"}');
}else if(!/^\w{8,32}$/.test(user)){
res.write('{"err": 1, "msg": "invaild username"}');
}else if(/^['|"]$/.test(pass)){
res.write('{"err": 1, "msg": "invaild password"}');
}else if(users[user]){
res.write('{"err": 1, "msg": "username already exsits"}');
}else{
users[user]=pass;
res.write('{"err": 0, "msg": "success"}');
}
res.end();
break;
case '/login': //登陆
if(!user){
res.write('{"err": 1, "msg": "user is required"}');
}else if(!pass){
res.write('{"err": 1, "msg": "pass is required"}');
}else if(!/^\w{8,32}$/.test(user)){
res.write('{"err": 1, "msg": "invaild username"}');
}else if(/^['|"]$/.test(pass)){
res.write('{"err": 1, "msg": "invaild password"}');
}else if(!users[user]){
res.write('{"err": 1, "msg": "no this user"}');
}else if(users[user]!=pass){
res.write('{"err": 1, "msg": "username or password is incorrect"}');
}else{
res.write('{"err": 0, "msg": "login success"}');
}
res.end();
break;
default: // 其他:文件
fs.readFile(`www${pathname}`, (err, data)=>{
if(err){
res.writeHeader(404);
res.write('Not Found');
}else{
res.write(data);
}
res.end();
});
}
});
});
server.listen(8080);