一、node API -- URL
- url.parse(urlStr,[parseQueryString],[slashesDenoteHost]):将定位符解析成对象,可选参数1设置为true,对象中query可解析出;可选参数2设置为true,对象中host正确解析。
- url.format(urlObj):将对象解析成定位串
- url.resolve(from,to):将一个基本url和指定超链接目标url合并
url.parse('https://i.cnblogs.com')
URL{
protocol:表示url采用什么协议,http、https还是file?
slashes:表示是否有斜线
host:主机
port:表示端口(默认端口80不显示)
hostname:表示主机名称
hash:锚点,可定位到当前位置,(指”#“号后的内容,包括#)
search:查询字符串参数(指的是?后#前的内容,包含?)
query:发送给服务器的数据
pathname:指路径名称,一般为主域名之后的内容
path:路径
href:未解析的完整的url地址
}
修改:
当url.parse()的第二个参数设置为 true时,query被解析成为对象
url.parse(' https://i.cnblogs.com/EditPosts.aspx?opt=1&course=node#first',true)
当url.parse()的第二个参数设置为 true时,可以在没有底层协议存在时,解析出host
url.parse('//i.cnblogs.com/EditPosts.aspx?opt=1&course=node#first',true,true)
url.format();对象生成url地址
url.format({
protocol: 'https:',
slashes: true,
auth: null,
host: 'i.cnblogs.com',
port: null,
hostname: 'i.cnblogs.com',
hash: '#first',
search: '?opt=1&course=node',
pathname: '/EditPosts.aspx',
path: '/EditPosts.aspx?opt=1&course=node',
href: 'https://i.cnblogs.com/EditPosts.aspx?opt=1&course=node#first'
})
url.resolve(from,to):将一个基本url和指定超链接目标url合并
二、querystring的参数处理
querystring.stringify(obj,para1,para2)://将对象转化成url中query部分的形式
参数:
- 1.要转化的对象
- 2.链接符(默认&)
- 3.键与值之间的符号(默认=)
querystring.parse(string,para1,para2)://将query字符串转化成对象(反序列化)
参数:
- 1.query字符串
- 2.链接符(默认&)
- 3.键与值之间的符号(默认=)
- 4.参数的个数(默认最多1000个,0就没有限制)
querystring.escape(string)//文字转译
querystring.unescape(string)//反转译