NodeJs 中 http,url 模块使用

2020-11-01  本文已影响0人  老白涮肉坊_
1、http 模块
// 用于创建服务
const http = require('http')

http.createServer((req, res) => {
    console.log(req.url, req.method, req.query, req.params)

    // 设置响应头
    // 响应状态码 200,响应文件类型 html,字符集 utf-8
    res.writeHead(200, { 'Content-type': 'text/html;charset=utf-8' })
    res.write('<head><meta charset="utf-8"></head>')
    // 写入响应数据
    res.write('<h2>呐,这就叫专业</h2>')
    // 结束响应
    res.end()

}).listen(3000) // 监听端口号
2、url 模块
// 用于解析url
url.parse() 
// url.parse() 逆向操作
url.format(urlObject)
// 用于添加或替换地址
url.resolve(from, to)
const url = require('url')

const api = 'https://www.xxx.com?name=zhangsan&age=20'

// url.parse() 解析url地址 第二个参数为 true,表示 query 部分直接得到一个对象
// console.log(url.parse(api), url.parse(api, true))

const { query } = url.parse(api, true)
console.log(`姓名:${query.name} --- 年龄:${query.age}`)
简单例子
const http = require('http')
const url = require('url')

http.createServer((req, res) => {
    // 设置响应
    res.writeHead(200, {
        'content-type': 'text/html;charset=utf-8'
    })

    if (req.url !== '/favicon.ico') {
        // 解析 url
        const query = url.parse(req.url, true).query
        // 响应数据
        res.write(`姓名:${query.name ? query.name : '不存在'}`)
        // 结束响应
        res.end()
    }
}).listen(3000)

上一篇 下一篇

猜你喜欢

热点阅读