url 模块
url 模块用于处理与解析 URL。 使用方法如下:
url 类:
Url {
protocol: null, // 请求协议,小写。'http:'
slashes: null, // 协议要求的斜杠(冒号后) true或false
auth: null, // url中的验证信息。 'user:pass'
host: null, // 完整的URL小写主机部分,包含端口信息。'host.com:8080'
port: null, // 主机的端口号:'8080'
hostname: null, // hostname: 域名中的小写主机名; 'host.com'
hash: null, // URL的“#”后面部分(包括 # 符号)
search: '?id=10018', // URL中得查询字符串,包含开头的问号
query: 'id=10018', // 查询字符串中得参数部分,或者使用querystring.parse()解析后返回的对象。
pathname: '/v1/customer', URL中的路径部分,在主机名后,查询字符前,包含第一个斜杠。
path: '/v1/customer?id=10018', // pathname和search连在一起
href: '/v1/customer?id=10018' // 准备解析的完整的URL,包含协议和主机(小写)。
}
url.parse(urlString[, parseQueryString[, slashesDenoteHost]])
- urlString
<string>
; - parseQueryString
<boolean>
非必填:若为true,则 url 类中的query
返回的是querystring.parse()
方法的结果,为解析后的对象,默认为false,为查询字符串状态; - slashesDenoteHost
<boolean>
非必填:,把//foo/bar当做{ host: ‘foo’, pathname: ‘/bar’ } ,而不是{ pathname: ‘//foo/bar’ }。默认为false。
Url {
protocol: null,
slashes: null,
auth: null,
host: null,
port: null,
hostname: null,
hash: null,
search: '?id=10018',
query: 'id=10018',
pathname: '/v1/customer',
path: '/v1/customer?id=10018',
href: '/v1/customer?id=10018'
}
Url {
protocol: null,
slashes: null,
auth: null,
host: null,
port: null,
hostname: null,
hash: null,
search: '?id=10018',
query: { id: '10018' },
pathname: '/v1/customer',
path: '/v1/customer?id=10018',
href: '/v1/customer?id=10018'
}
url.format(urlObj)
- 输入一个解析过的URL对象,返回格式化过的字符串。