Node.js核心模块-url
引入
const url = require('url')
url.parse(urlString[, parseQueryString[, slashesDenoteHost]])
- urlString:需要编译的url字符串
- parseQueryString:布尔类型,默认为false。如果为真,则query属性返回parse之后的对象
const obj = url.parse('http://localhost:3010/post?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA') console.log(obj) /* Url { protocol: 'http:', slashes: true, auth: null, host: 'localhost:3010', port: '3010', hostname: 'localhost', hash: null, search: '?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA', query: 'name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA', pathname: '/post', path: '/post?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA', href: 'http://localhost:3010/post?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA' } */
当将parseQuerayaString设置为true时
const obj = url.parse('http://localhost:3010/post?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA', true) console.log(obj) /* Url { protocol: 'http:', slashes: true, auth: null, host: 'localhost:3010', port: '3010', hostname: 'localhost', hash: null, search: '?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA', query: { name: '1234', message: '特为前提其他人' }, pathname: '/post', path: '/post?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA', href: 'http://localhost:3010/post?name=1234&message=%E7%89%B9%E4%B8%BA%E5%89%8D%E6%8F%90%E5%85%B6%E4%BB%96%E4%BA%BA' } */
打印结果中的query属性值是不一样的