url模塊和querystring模塊


url模塊

我們可以使用.parse方法來將一個URL字符串轉換為URL對象,示例如下。

 

1. URL各部分說明

 

var url = require('url'); //加載url模塊 url.parse('http://www.baidu.com');

返回的結果為:

{ protocol: 'http:', slashes: null, auth: null, host: null, port: null, hostname: null, hash: null, search: null, query: null, pathname: 'www.baidu.com', path: 'www.baidu.com', href: 'http://www.baidu.com' }
parse函數的第二個參數是布爾類型,當參數為true時,會將查詢條件query也解析成json格式的對象

parse函數的第三個參數也是布爾類型的,當參數為true,解析時會將url的”//”和第一個”/”之間的部分解析為主機名,示例如下:

var url = require('url'); url.parse('http://www.baidu.com/news',false,true);

返回的結果:

{ protocol: 'http:', slashes: true, auth: null, host: 'www.baidu.com', port: null, hostname: 'www.baidu.com', hash: null, search: null, query: null, pathname: '/news', path: '/news', href: 'http://www.baidu.com/news' }

protocol: 請求協議
  host: URL主機名已全部轉換成小寫, 包括端口信息
  auth:URL中身份驗證信息部分
  hostname:主機的主機名部分, 已轉換成小寫
  port: 主機的端口號部分
  pathname: URL的路徑部分,位於主機名之后請求查詢之前
  search: URL 的“查詢字符串”部分,包括開頭的問號。
  path: pathname 和 search 連在一起。
  query: 查詢字符串中的參數部分(問號后面部分字符串),或者使用 querystring.parse() 解析后返回的對象。
  hash: URL 的 “#” 后面部分(包括 # 符號)

format方法允許將一個URL對象轉換為URL字符串,示例如下。

代碼如下:

url.format({
    protocol: 'http:',
    host: 'www.example.com',
    pathname: '/p/a/t/h',
    search: 'query=string'
});
/* =>
'http://www.example.com/p/a/t/h?query=string'
*/
.resolve方法可以用於拼接URL,示例如下。
代碼如下:

url.resolve('http://www.example.com/foo/bar', '../baz');
/* =>
 
http://www.example.com/baz
 
*/

 

querystring模塊

 "QueryString" 模塊用於實現URL參數字符串與參數對象的互相轉換,來個栗子,如下所示:

 
        

 

 
        
復制代碼代碼如下:
 var url = require('url');
 var qs = require('querystring');
 var queryUrl = " http://localhost:8888/bb?name=bigbear&memo=helloworld" ;
 queryUrl = url.parse(queryUrl).query ;
 console.log(queryUrl) ;
 console.log(qs.parse(queryUrl)) ;

  運行結果·如下:

    name=bigbear&memo=helloworld
    {
      name: 'bigbear',
      memo: 'helloworld'
    }
 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM