url.parse()方法獲取URL字符串,對其進行解析,然後將返回一個URL對象,其中地址的每個部分均作為屬性。
用法:
url.parse( urlString, parseQueryString, slashesDenoteHost)
參數:此方法接受上麵提到並在下麵描述的三個參數a:
- urlString:它包含需要解析的URL字符串。
- parseQueryString:它是一個布爾值。如果將其設置為true,則查詢屬性將設置為querystring模塊的parse()方法返回的對象。如果將其設置為false,則返回的URL對象上的query屬性將是未解析,未解碼的字符串。其默認值為false。
- slashesDenoteHost:它是一個布爾值。如果將其設置為true,則文字字符串//之後和下一個/之前的第一個標記將被解釋為主機。例如,://://geeksforgeeks.org/web-technology包含結果{host:‘geeksforgeeks.org’,路徑名:‘/web-technology’}而不是{pathname:‘//geeksforgeeks.org/web-technology’}。其默認值為false。
返回值:url.parse()方法返回一個對象,其中地址的每個部分都作為屬性。
注意:
- 如果urlString不是字符串,則拋出TypeError。
- 如果auth屬性存在但未解碼,則拋出URIError。
範例1:
// 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)
輸出:
URL Object returned after parsing Url { protocol:'https:', slashes:true, auth:null, host:'geeksforgeeks.org', port:null, hostname:'geeksforgeeks.org', hash:null, search:'?sort=newest&lang=nodejs', query:[Object:null prototype] { sort:'newest', lang:'nodejs' }, pathname:'/projects', path:'/projects?sort=newest&lang=nodejs', href:'https://geeksforgeeks.org/projects?sort=newest&lang=nodejs' }
範例2:本示例說明了url對象的屬性。
// 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);
輸出:
Url host geeksforgeeks.org Url pathname /projects Url search ?sort=newest&lang=nodejs [Object:null prototype] { sort:'newest', lang:'nodejs' } Url query object nodejs
注意:上麵的程序將使用node myapp.js命令編譯並運行。
相關用法
- Node.js URL.host用法及代碼示例
- Node.js URL.protocol用法及代碼示例
- Node.js URLSearchParams.set()用法及代碼示例
- Node.js URL.hash用法及代碼示例
- Node.js URL.format用法及代碼示例
- Node.js URL.href用法及代碼示例
注:本文由純淨天空篩選整理自hemant-garg大神的英文原創作品 Node | url.parse(urlString, parseQueryString, slashesDenoteHost) API。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。