1.通过querystring
const http = require('http');
const querystring = require('querystring');//将name=test&id=5解析为{name:test,id:5}
const server = http.createServer((req,res)=>{
let [url,query] = req.url.split('?')
let get = querystring.parse(query);
console.log(get.name)//test
res.end('hello')
})
server.listen(8080,()=>{
console.info('server start')
})
2.通过url
const http = require('http');
const querystring = require('querystring');
const url = require('url')
const server = http.createServer((req,res)=>{
let {query} =url.parse(req.url,true)//节气query
console.log(query) //{name:test,id:5}
res.end('hello')
})
server.listen(8080,()=>{
console.info('server start')
})
post会分多次发送给服务器端因为post较大,不能一次性发送,所以在接收时我们也要一段一段的接收 接收简单post
const http = require('http')
const querystring = require('querystring')
const url = require('url')
const server = http.createServer((req,res)=>{
let arr = [];
//有数据过来时(二进制)
req.on('data',buffer=>{
//拼接数据
arr.push(buffer)
});
req.on('end',()=>{
//数据接收完成连接buffer
let buffer = Buffer.concat(arr)
let post = querystring.parse(buffer.toString())
console.log(post)//{name:test}
});//数据结束
res.end('hello')
})
server.listen(8080,()=>{
console.info('server start')
})
const http = require('http')
const querystring = require('querystring')
const url = require('url')
const fs = require('fs')
const server = http.createServer((req,res)=>{
// req.method get/post
let pathname = '',get={},post={};
if(req.method=='GET'){
let {pathname,query} = url.parse(req.url,true);
path = pathname;
get = query;
// console.log(path+'e')
complete()
}else if(req.method=='POST'){
let arr = [];
path = req.url;
req.on('data',buffer=>{
arr.push(buffer)
})
req.on('end',()=>{
let buffer = Buffer.concat(arr);
post = querystring.parse(buffer.toString());
complete()
})
}
function complete(){
console.log(path,get,post)
}
res.end('hello')
})
server.listen(8080,()=>{
console.info('server start')
})