📜  节点 | url.parse(urlString, parseQueryString, slashesDenoteHost) API

📅  最后修改于: 2022-05-13 01:56:57.056000             🧑  作者: Mango

节点 | url.parse(urlString, parseQueryString, slashesDenoteHost) API

url.parse()方法接受一个 URL字符串,解析它,它会返回一个 URL 对象,其中包含地址的每个部分作为属性。

句法:

url.parse( urlString, parseQueryString, slashesDenoteHost)

参数:此方法接受上面提到和下面描述的三个参数:

  • urlString:存放需要解析的 URL字符串。
  • parseQueryString:它是一个布尔值。如果它设置为 true,则查询属性将设置为由 querystring 模块的 parse() 方法返回的对象。如果设置为 false,则返回的 URL 对象上的 query 属性将是未解析、未解码的字符串。其默认值为 false。
  • slashesDenoteHost:它是一个布尔值。如果它设置为 true,那么字面量字符串// 之后和下一个 / 之前的第一个标记将被解释为主机。例如://geeksforgeeks.org/web-technology 包含结果 {host: 'geeksforgeeks.org', pathname: '/web-technology'} 而不是 {pathname: '//geeksforgeeks.org/web-technology'} .其默认值为 false。

返回值: url.parse()方法返回一个对象,其中包含地址的每个部分作为属性。
笔记:

  • 如果 urlString 不是字符串,则它抛出 TypeError。
  • 如果 auth 属性存在但未解码,则会抛出 URIError。



示例 1:

javascript
// Node program to demonstrate the 
// url.parse() method 
     
// Importing the module 'url'
const url = require('url');
 
// URL address
const address = 'https://geeksforgeeks.org/projects?sort=newest&lang=nodejs';
 
// Call parse() method using url module
let urlObject = url.parse(address, true);
 
console.log('URL Object returned after parsing');
 
// Returns an URL Object
console.log(urlObject)


javascript
// Node program to demonstrate the 
// url object properties 
 
// Get different parts of the URL
// using object properties
const url = require('url');
 
// URL address
const address =
'https://geeksforgeeks.org/projects?sort=newest&lang=nodejs';
 
// Call parse() method using url module
let urlObject = url.parse(address, true);
 
console.log('Url host');
 
// Returns 'geeksforgeeks.org'
console.log(urlObject.host);
console.log('Url pathname');
 
// Returns '/projects'
console.log(urlObject.pathname);
console.log('Url search');
 
// Returns '?sort=newest&lang=nodejs'
console.log(urlObject.search);
  
// Get query data as an object
// Returns an object:
// { sort: 'newest', lang: 'nodejs' }
let queryData = urlObject.query;
console.log(queryData);
console.log('Url query object');
 
// Returns 'nodejs'
console.log(queryData.lang);


输出:

示例 2:此示例说明了 url 对象的属性。

javascript

// Node program to demonstrate the 
// url object properties 
 
// Get different parts of the URL
// using object properties
const url = require('url');
 
// URL address
const address =
'https://geeksforgeeks.org/projects?sort=newest&lang=nodejs';
 
// Call parse() method using url module
let urlObject = url.parse(address, true);
 
console.log('Url host');
 
// Returns 'geeksforgeeks.org'
console.log(urlObject.host);
console.log('Url pathname');
 
// Returns '/projects'
console.log(urlObject.pathname);
console.log('Url search');
 
// Returns '?sort=newest&lang=nodejs'
console.log(urlObject.search);
  
// Get query data as an object
// Returns an object:
// { sort: 'newest', lang: 'nodejs' }
let queryData = urlObject.query;
console.log(queryData);
console.log('Url query object');
 
// Returns 'nodejs'
console.log(queryData.lang);

输出:

注意:上述程序将使用node myapp.js命令编译运行。
参考: https : //nodejs.org/docs/latest/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost