1. 程式人生 > >url模塊

url模塊

sde format ring pre 字符串 res api proto search

NodeJS之URL模塊

  今天講的是NodeJS裏面的一個簡單的小模塊,即url模塊;這個url模塊要使用的話,需要先引入。若只是在命令行裏比如cmd或git bash等使用url這個模塊的話,是不需要require進來的。直接使用便可

  const這個關鍵字是ES6裏面定義的常量,不可以改變。

1.const url = require("url");

  url總共提供了三個方法,分別是url.parse();  url.format();  url.resolve();

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

  會返回一個解析後的對象,第一個參數為要解析的url地址,第二個參數為是否將query字符串解析成對象格式,第三個參數來控制在沒有協議的情況下,是否解析域名等內容

  例子1:url.parse只傳一個參數的情況

  url.parse("http://user:[email protected]:8080/p/a/t/h?query=string#hash");
  /*
  返回值:
  {
    protocol: ‘http:‘,
    slashes: true,
    auth: ‘user:pass‘,
    host: ‘host.com:8080‘,
    port: ‘8080‘,
    hostname: ‘host.com‘,
    hash: ‘#hash‘,
    search: ‘?query=string‘,
    query: ‘query=string‘,
    pathname: ‘/p/a/t/h‘,
    path: ‘/p/a/t/h?query=string‘,
    href: ‘http://user:[email protected]:8080/p/a/t/h?query=string#hash‘
  }
 沒有設置第二個參數為true時,query屬性為一個字符串類型
*/

  例子2 : url.parse第二個參數為true的情況  

 url.parse("http://user:[email protected]:8080/p/a/t/h?query=string#hash",true);
  /*
  返回值:
   {
    protocol: ‘http:‘,
    slashes: true,
    auth: ‘user:pass‘,
    host: ‘host.com:8080‘,
    port: ‘8080‘,
    hostname: ‘host.com‘,
    hash: ‘#hash‘,
    search: ‘?query=string‘,
    query: { query: ‘string‘ },
    pathname: ‘/p/a/t/h‘,
    path: ‘/p/a/t/h?query=string‘,
    href: ‘http://user:[email protected]:8080/p/a/t/h?query=string#hash‘
  }
 返回的url對象中,query屬性為一個對象
 */

  

  2 url.format(urlObj) 

  將一個url解析後的對象還原成一個url地址   參數:urlObj指一個url對象   
url.format({
    protocol:"http:",
    host:"182.163.0:60",
    port:"60"
});
/*
返回值:
‘http://182.163.0:60‘
*/

  

  3.url.resolve(from, to)

  可以將我們兩段url解析成一個url地址   
url.resolve(‘http://www.baidu.com‘,‘/api/index.html‘);
/*
返回值:
‘http://www.baidu.com/api/index.html‘
*/

  url模塊的三種方法就講到這裏了,不太全面的地方大家可以繼續查閱其它資料哦。

url模塊