url模块的引入
在头部输入以下代码: const url = require("url");
url模块提供的方法
url模块目前提供三个方法url.parse(),url.format(),url.resolve();
url.parse(urlStr,[boolean],[boolean])
接口作用:解析一个url地址,返回一个url对象
参数:第一个参数 url地址字符串,第二个参数 为布尔值,默认false,当值为true,返回的url对象中query属性返回的是一个对象,第三个参数 为布尔值,默认false,如果设为 true,则//之后至下一个/之前的字符串会解析作为host.例如,//foo/bar会解析为{host:'foo',pathname:'/bar'} 而不是 {pathname:'//foo/bar'}.
示例代码:
let parseUrl = "https://www.google.com?q=node.js";let urlObj = url.parse(parseUrl,true);console.log(urlObj);复制代码
返回:
PS E:\项目\nodejs> node url.jsUrl { protocol: 'https:', slashes: true, auth: null, host: 'www.google.com', port: null, hostname: 'www.google.com', hash: null, search: '?q=node.js', query: [Object: null prototype] { q: 'node.js' }, pathname: '/', path: '/?q=node.js', href: 'https://www.google.com/?q=node.js' }复制代码 url.format(urlObj)
接口作用:接受一个url对象,返回一个url字符串
参数:第一个参数 是一个url对象,具体参数见代码
示例代码:
let urlObj = { protocol: 'https:', slashes: true, auth: null, host: 'www.google.com', port: null, hostname: 'www.google.com', hash: null, search: '?q=node.js', query: '?q=node.js', pathname: '/', path: '/?q=node.js',};let objFormatUrl = url.format(urlObj);console.log(objFormatUrl);复制代码 返回:
PS E:\项目\nodejs> node url.jshttps://www.google.com/?q=node.js复制代码
url.resolve(from,to)
接口作用:拼接字符串网址
参数:第一个参数 拼接时相对的基本URL,第二个参数 要拼接的另一个url.
示例代码:
let urlAddress = url.resolve("https://www.google.com","image");console.log(urlAddress);复制代码 返回:
PS E:\项目\nodejs> node url.jshttps://www.google.com/image复制代码