2.4 Http模块
2.4.1创建Http服务端
//1.导入http模块
let http=require('http')//2.创建服务对象
let server=http.createServer((request,response)=>{console.log(request.method) //获取请求方式console.log(request.url) //获取请求url(路径和参数部份)console.log(request.httpVersion) //获取请求http版本号console.log(request.headers) //获取请求头//设置响应头,如果返回的内容中有中文,需要设置一下以下响应头,否则会出现乱码response.setHeader("content-type","text/html;charset=utf-8")//响应结束后返回的内容response.end('你好HTTP Server')
})
//启动服务,并配置监听端口
server.listen(9000,()=>{console.log('服务已启动')
})
执行这个js文件后,就可以通过浏览器访问本机的9000端口,并得到了响应
2.4.2获取request中的请求体
//1.导入http模块
let http=require('http')//2.创建服务对象
let server=http.createServer((request,response)=>{let body=''request.on('data',chunk=>{//持续读取request中的请求体body += chunk})request.on('end',()=>{//读取request中的请求体结束后,执行的代码console.log(typeof(body))console.log(body)response.end('Hello Http server')})
})
//启动服务,并配置监听端口
server.listen(9000,()=>{console.log('服务已启动')
})
使用postman发送post请求
输出:
服务已启动
string
{"name": "muyi","gender": 1,"birth": "1983-03-13","grade": 3}
2.4.3获取url中的路径和参数
用户访问的url:
http://localhost:9000/test/?arg1=1&arg2=2
//获取url中的路径和参数(方法1)
//1.导入http模块
let http=require('http')
//2.导入url模块
let url=require('url')//3.创建服务对象
let server=http.createServer((request,response)=>{//解析request.url,后面不如不加true,则获取到的参数是字符串,加上true后获取到的参数是一个字典,方便提取数据res=url.parse(request.url,true)console.log(res)console.log('path:',r