url.parse(urlString[, parseQueryString[, slashesDenoteHost]])


稳定性: 3 - 传统做法:请改用 WHATWG URL API。

  • urlString <string> 要解析的 URL 字符串。
  • parseQueryString <boolean> 如果为 truequery 属性将始终被设置为由 querystring 模块的 parse() 方法返回的对象。如果为 false,返回的 URL 对象上的 query 属性将是未解析、未解码的字符串。默认值: false
  • slashesDenoteHost <boolean> 如果为 true,字面字符串 // 之后并且下一个 / 之前的第一个标记将被解释为 host。例如,给定 //foo/bar,结果将是 {host: 'foo', pathname: '/bar'} 而不是 {pathname: '//foo/bar'}默认值: false

url.parse() 方法接收一个 URL 字符串,对其进行解析,并返回一个 URL 对象。

🌐 The url.parse() method takes a URL string, parses it, and returns a URL object.

如果 urlString 不是字符串,将抛出 TypeError

🌐 A TypeError is thrown if urlString is not a string.

如果存在 auth 属性但无法解码,则会抛出 URIError

🌐 A URIError is thrown if the auth property is present but cannot be decoded.

url.parse() 使用一种宽松的、非标准的算法来解析 URL 字符串。它容易出现安全问题,例如 主机名欺骗,以及对用户名和密码处理不正确。

url.parse() 是大多数旧版 API 的一个例外。尽管存在安全问题,它仍然是旧版 API 而非已废弃,因为它是:

  • 比替代的 WHATWG URL 解析器更快。
  • 在处理相对 URL 时比替代的 WHATWG URL API 更易使用。
  • 在 npm 生态系统中被广泛依赖。

谨慎使用。

🌐 Use with caution.