url.parse(urlString[, parseQueryString[, slashesDenoteHost]])
urlString
<string> 要解析的 URL 字符串。parseQueryString
<boolean> 如果为true
,则query
属性将始终设置为querystring
模块的parse()
方法返回的对象。 如果为false
,则返回的网址对象上的query
属性将是未解析、未解码的字符串。 默认值:false
。slashesDenoteHost
<boolean> 如果为true
,则文字串//
之后和下一个/
之前的第一个令牌将被解释为host
。 例如,给定//foo/bar
,结果将是{host: 'foo', pathname: '/bar'}
而不是{pathname: '//foo/bar'}
。 默认值:false
。
url.parse()
方法接受网址字符串,解析并返回网址对象。
如果 urlString
不是字符串,则抛出 TypeError
。
如果 auth
属性存在但无法解码,则抛出 URIError
。
不鼓励使用旧版的 url.parse()
方法。
用户应使用 WHATWG URL
API。
由于 url.parse()
方法使用一种宽松的非标准算法来解析网址字符串,因此可能会引入安全问题。
具体来说,已经确定了主机名欺骗以及用户名和密码处理不当的问题。
urlString
<string> The URL string to parse.parseQueryString
<boolean> Iftrue
, thequery
property will always be set to an object returned by thequerystring
module'sparse()
method. Iffalse
, thequery
property on the returned URL object will be an unparsed, undecoded string. Default:false
.slashesDenoteHost
<boolean> Iftrue
, the first token after the literal string//
and preceding the next/
will be interpreted as thehost
. For instance, given//foo/bar
, the result would be{host: 'foo', pathname: '/bar'}
rather than{pathname: '//foo/bar'}
. Default:false
.
The url.parse()
method takes a URL string, parses it, and returns a URL
object.
A TypeError
is thrown if urlString
is not a string.
A URIError
is thrown if the auth
property is present but cannot be decoded.
Use of the legacy url.parse()
method is discouraged. Users should
use the WHATWG URL
API. Because the url.parse()
method uses a
lenient, non-standard algorithm for parsing URL strings, security
issues can be introduced. Specifically, issues with host name spoofing and
incorrect handling of usernames and passwords have been identified.