📜  Node.js url.parse(urlString, parseQueryString, slashesDenoteHost) API(1)

📅  最后修改于: 2023-12-03 15:33:10.132000             🧑  作者: Mango

Node.js url.parse() API

简介

在 Node.js 中, url.parse() 是一个用于解析 URL 字符串的 API。通过解析 URL 字符串可以得到 URL 中的各个部分,包括协议、主机名、路径、查询参数等信息。该 API 能够很好地帮助我们处理 URL 相关的任务。

语法
url.parse(urlString, parseQueryString, slashesDenoteHost)

参数说明:

  • urlString: 要解析的 URL 字符串。
  • parseQueryString: 如果为 true,query 属性将被解析为一个对象。如果为 false,则返回一个未解析的字符串。默认为 false
  • slashesDenoteHost: 如果为 true,则将路径解释为主机名和路径。例如,//foo/bar 会被解析为 {host: 'foo', pathname: '/bar'} 而不是 {pathname: '//foo/bar'}。默认为 false
返回值

该 API 返回一个包含 URL 中各部分的对象。

{
  protocol: 'http:', // 协议
  slashes: true,     // 是否有双斜杠
  auth: null,        // 认证信息
  host: 'localhost:3000',  // 主机名
  port: '3000',      // 端口号
  hostname: 'localhost',   // 主机名(不包括端口号)
  hash: '#foobar',   // 哈希值
  search: '?foo=bar&baz=qux',   // 查找参数
  query: { foo: 'bar', baz: 'qux' },   // 查找参数(解析后)
  pathname: '/path',   // 路径名
  path: '/path?foo=bar&baz=qux',   // 完整路径
  href: 'http://localhost:3000/path?foo=bar&baz=qux#foobar'   // 完整 URL
}
使用示例
const url = require('url');

const urlString = 'http://localhost:3000/path?foo=bar&baz=qux#foobar';

// 解析 URL 字符串,返回一个包含 URL 各部分的对象
const urlObj = url.parse(urlString);

console.log(urlObj.protocol);   // http:
console.log(urlObj.host);       // localhost:3000
console.log(urlObj.path);       // /path?foo=bar&baz=qux
console.log(urlObj.query);      // { foo: 'bar', baz: 'qux' }
参考链接