url字符串是一个结构化的字符串,由好几个有意义部分组成。我们在工作中不可避免的会用到其中的某个部分,最原始的通过字符串截取和正则匹配的方法难免用起来会不太方便和美观,所以在我们的nodejs中提供了一个处理和解析url的模块url,该模块提供了一些实用的函数使我们解析起来更加的方便快捷,那接下里我们来分析一下它提供的常用的函数的用法
引入url模块
const url = require("url");
1、parse(urlStr,queryString,AnalysisHost)
Node.js遗留的特有的API
urlStr: 要解析的url地址
queryString: 解析出来的查询字符串还是查询对象,true是对象 false是字符串,例如:http://foo/bar?a=123, true的话 query: {a: 123}, false的话 query: ‘a=123’ 默认是false
AnalysisHost: 是否要解析出来host (即将//之后至下一个/之前的字符串),例如://foo/bar 会被解析为{host: ‘foo’, pathname: '/bar},否则{pathname: ‘//foo/bar’}.默认是false
作用:解析url,返回一个url属性对象
const myURLA =
url.parse('https://user:pass@sub.host.com:8080/p/a/t/h?query=string#hash', true);
console.log(myURLA);
// Url {
// protocol: 'https:', // 协议
// slashes: true,
// auth: 'user:pass', // 用户名密码
// host: 'sub.host.com:8080', // host主机名
// port: '8080', // 端口号