欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nodejs入門教程四:URL相關(guān)模塊用法分析

 更新時間:2017年04月24日 10:59:58   作者:Dason_yu  
這篇文章主要介紹了nodejs入門教程四之URL相關(guān)模塊用法,較為詳細(xì)的分析了URL相關(guān)模塊功能、方法與使用技巧,需要的朋友可以參考下

本文實(shí)例講述了nodejs入門教程之URL相關(guān)模塊用法。分享給大家供大家參考,具體如下:

1.URL 模塊:用于 URL 處理與解析

1)URI 與 URL :

URI,是uniform resource identifier,統(tǒng)一資源標(biāo)識符,用來唯一的標(biāo)識一個資源。
URL是uniform resource locator,統(tǒng)一資源定位器,它是一種具體的URI,即URL可以用來標(biāo)識一個資源,而且還指明了如何locate(定位)這個資源。

2)URL模塊中的方法:

url.format(urlObject):將一個 url 對象轉(zhuǎn)為一個 url字符串

url.parse(urlString,[Boolean],[Boolean]):將 url 字符串地址轉(zhuǎn)為一個對象

第一個Boolean

true:則 query 屬性總會通過 querystring 模塊的 parse() 方法生成一個對象。
false:則返回的 URL 對象上的 query 屬性會是一個未解析、未解碼的字符串。
默認(rèn)為 false

第二個Boolean

true:則 // 之后至下一個 / 之前的字符串會被解析作為 host。
例如,//foo/bar 會被解析為 {host: 'foo', pathname: '/bar'}
而不是 {pathname: '//foo/bar'}。
默認(rèn)為 false

url.resolve(from,to):以一種 Web 瀏覽器解析超鏈接的方式把一個目標(biāo) URL 解析成相對于一個基礎(chǔ) URL。

var url = require('url');
var urlObject = url.parse('https://hao.#/?src=lm&ls=n6624339d99');
console.log(urlObject);

var urlString = url.format({
  protocol: 'https:',
  slashes: true,
  auth: null,
  host: 'hao.#',
  port: null,
  hostname: 'hao.#',
  hash: null,
  search: '?src=lm&ls=n6624339d99',
  query: 'src=lm&ls=n6624339d99',
  pathname: '/',
  path: '/?src=lm&ls=n6624339d99',
  href: 'https://hao.#/?src=lm&ls=n6624339d99' })
console.log(urlString);

結(jié)果:

Url {
 protocol: 'https:',
 slashes: true,
 auth: null,
 host: 'hao.#',
 port: null,
 hostname: 'hao.#',
 hash: null,
 search: '?src=lm&ls=n6624339d99',
 query: 'src=lm&ls=n6624339d99',
 pathname: '/',
 path: '/?src=lm&ls=n6624339d99',
 href: 'https://hao.#/?src=lm&ls=n6624339d99' }
https://hao.#/?src=lm&ls=n6624339d99
var urlString2 = url.resolve('https://hao.#/','?src=lm&ls=n6624339d99')
console.log(urlString) //https://hao.#/?src=lm&ls=n6624339d99

2. querystring 模塊:用于解析與格式化 URL 查詢字符串

應(yīng)用:針對于大量的參數(shù)傳遞的場景

querystring.escape(str):對給定的 str 執(zhí)行 URL 百分號編碼(轉(zhuǎn)譯)。

querystring.unescape(str):對給定的 str 上的 URL 百分號編碼的字符執(zhí)行解碼(反轉(zhuǎn)譯)。

querystring.parse(str,[sep,[eq,[options]]]):方法能把一個 URL 查詢字符串(str)解析成一個鍵值對的集合。

•str <String> 要解析的 URL 查詢字符串。
•sep <String> 用于界定查詢字符串中的鍵值對的子字符串。默認(rèn)為 '&'。
•eq <String> 用于界定查詢字符串中的鍵與值的子字符串。默認(rèn)為 '='。
•options <Object>
•decodeURIComponent <Function> 當(dāng)解碼查詢字符串中百分號編碼的字符時使用的函數(shù)。默認(rèn) querystring.unescape()。
•maxKeys <number> 指定要解析的鍵的最大數(shù)量。默認(rèn)為 1000。指定為 0 則移除鍵數(shù)的限制

④  querystring.stringify(obj[, sep[, eq[, options]]]):通過遍歷對象的自有屬性,從一個給定的 obj 產(chǎn)生一個 URL 查詢字符串。

•obj <Object> 要序列化成一個 URL 查詢字符串的對象。
•sep <String> 用于界定查詢字符串中的鍵值對的子字符串。默認(rèn)為 '&'。
•eq <String> 用于界定查詢字符串中的鍵與值的子字符串。默認(rèn)為 '='。
•options
•encodeURIComponent <Function> 當(dāng)把對 URL 不安全的字符轉(zhuǎn)換成查詢字符串中的百分號編碼時使用的函數(shù)。

默認(rèn)為 querystring.escape()

var querystring = require('querystring');
var a = querystring.parse('src=lm&ls=n6624339d99');
console.log(a)  // { src: 'lm', ls: 'n6624339d99' }

3. http:計算機(jī)之間遵循的協(xié)議

希望本文所述對大家nodejs程序設(shè)計有所幫助。

相關(guān)文章

  • 使用nvm管理(切換)node版本詳細(xì)圖文教程

    使用nvm管理(切換)node版本詳細(xì)圖文教程

    這篇文章主要給大家介紹了關(guān)于使用nvm管理(切換)node版本的相關(guān)資料,nvm是node.js的版本管理器,可以安裝和切換不同版本node.js,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • nodejs實(shí)現(xiàn)獲取當(dāng)前url地址及url各種參數(shù)值

    nodejs實(shí)現(xiàn)獲取當(dāng)前url地址及url各種參數(shù)值

    這篇文章主要介紹了nodejs實(shí)現(xiàn)獲取當(dāng)前url地址及url各種參數(shù)值,本文直接給出代碼實(shí)例,需要的朋友可以參考下
    2015-06-06
  • node+koa實(shí)現(xiàn)數(shù)據(jù)mock接口的方法

    node+koa實(shí)現(xiàn)數(shù)據(jù)mock接口的方法

    本篇文章主要介紹了node+koa實(shí)現(xiàn)數(shù)據(jù)mock接口的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Node.js插件的正確編寫方式

    Node.js插件的正確編寫方式

    正如Node.js在官方說明文檔中所言,插件是以動態(tài)方式進(jìn)行鏈接的共享式對象,能夠?qū)avaScript代碼與C/C++庫接駁起來。這意味著我們可以引用任何來自C/C++庫中的內(nèi)容,并通過創(chuàng)建插件的方式將其納入到Node.js當(dāng)中。
    2014-08-08
  • OpenSCA技術(shù)原理npm依賴示例解析

    OpenSCA技術(shù)原理npm依賴示例解析

    這篇文章主要為大家介紹了OpenSCA技術(shù)原理npm依賴示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 基于Node.js搭建hexo博客過程詳解

    基于Node.js搭建hexo博客過程詳解

    這篇文章主要介紹了基于Node.js搭建hexo博客過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,
    2019-06-06
  • 關(guān)于沒有徹底清除node和npm的解決方法

    關(guān)于沒有徹底清除node和npm的解決方法

    最近因?yàn)閚pm和node的版本不匹配遇到了許多困難,比如更新npm的版本,結(jié)果它給報錯了,查閱了好多資料,發(fā)現(xiàn)就是node和npm卸載的時候,還有殘留,所以本文給大家介紹了關(guān)于沒有徹底清除node和npm的解決方法,需要的朋友可以參考下
    2024-03-03
  • node.js從數(shù)據(jù)庫獲取數(shù)據(jù)

    node.js從數(shù)據(jù)庫獲取數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了node.js從數(shù)據(jù)庫獲取數(shù)據(jù)的具體代碼,nodejs可以獲取具體某張數(shù)據(jù)表信息,感興趣的朋友可以參考一下
    2016-05-05
  • 使用npm命令提示: ''npm'' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序的處理方法

    使用npm命令提示: ''npm'' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序的處理方法

    這篇文章主要介紹了使用npm命令提示: 'npm' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序,本文通過圖文并茂的形式給大家分享解決方案,需要的朋友可以參考下
    2020-05-05
  • Nodejs?Docker鏡像體積優(yōu)化實(shí)踐詳解

    Nodejs?Docker鏡像體積優(yōu)化實(shí)踐詳解

    這篇文章主要為大家介紹了Nodejs?Docker鏡像體積優(yōu)化實(shí)踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07

最新評論