當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Node.js url.parse(urlString, parseQueryString, slashesDenoteHost)用法及代碼示例


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命令編譯並運行。

參考: https://nodejs.org/docs/latest/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost



相關用法


注:本文由純淨天空篩選整理自hemant-garg大神的英文原創作品 Node | url.parse(urlString, parseQueryString, slashesDenoteHost) API。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。