Node-url模塊的學(xué)習(xí)筆記

我們可以很簡單的獲取到請求的url,但有數(shù)據(jù)提交上來的url是十分復(fù)雜和不確定的示惊。很不利于編寫業(yè)務(wù)邏輯。所以我們就要將url拆分成我們能用的數(shù)據(jù)埃元。node的url模塊就是幫助我們對提交上來的url進行解析處理

parse(urlStr,queryString,AnalysisHost)

?解析url涝涤,返回一個url屬性對象
  • urlStr: 要解析的url地址
  • queryString: 解析出來的query是字符串還是查詢對象,true是對象 false是字符串
  • AnalysisHost: 是否要解析出來主機名
示例代碼
  var url = require('url')
  var obj = url.parse('http://www.baidu.com/vdsa?ie=utf-8&word=sad',true,true)
  console.log(obj);
結(jié)果:
Url組成部分:
  1. protocol:url的通信協(xié)議(http/https)
  2. slashes:如果協(xié)議protocol冒號后跟的是兩個斜杠字符(/),那么值為true
  3. auth:URL的用戶名與密碼部分
  4. host:url的主機名 “baidu.com”
  5. port: 端口號
  6. hostname: hostname是host屬性排除端口port之后的小寫的主機名部分
  7. hash:哈希#后面字符串包括#
  8. search:URL的查詢字符串部分岛杀,包括開頭的問號字符(阔拳?)
  9. query: 不包含問號(?)的search字符串
  10. pathname:URL的整個路徑部分。跟在host后面糊肠,截止問號(辨宠?)或者哈希字符(#)分隔
  11. path:由pathname與search組成的串接,不包含hash字符后面的東西
  12. href:解析后的完整的URL字符串,protocol和host都會被轉(zhuǎn)換成小寫货裹。

url.format(urlObject)

?將一個url對象格式化成url字符串
  • urlObject:url對象
    示例代碼
    var url = require('url')
    var obj = {
        protocol: 'http:',
        slashes: true,
        host: 'www.baidu.com',
        hostname: 'www.baidu.com',
        search: '?ie=utf-8&word=sad',
        query: { ie: 'utf-8', word: 'sad' },
        pathname: '/vdsa'
    }
    console.log(url.format(obj));
    
    結(jié)果:

url.resolve(from,to)

?用來插入或替換URL內(nèi)容
  • from 源地址
  • to 需要添加或替換的標簽
示例代碼
    const url = require("url");

    console.log(url.resolve("/one/two/three","four"));
    console.log(url.resolve("/one/two/","four"));
    console.log(url.resolve("http://www.baidu.com","/topic"));
    console.log(url.resolve("http://www.baidu.com/one","topic"));
結(jié)果:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嗤形,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子弧圆,更是在濱河造成了極大的恐慌赋兵,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搔预,死亡現(xiàn)場離奇詭異霹期,居然都是意外死亡,警方通過查閱死者的電腦和手機拯田,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門历造,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人船庇,你說我怎么就攤上這事吭产。” “怎么了鸭轮?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵臣淤,是天一觀的道長。 經(jīng)常有香客問我窃爷,道長荒典,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任吞鸭,我火速辦了婚禮寺董,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘刻剥。我一直安慰自己遮咖,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布造虏。 她就那樣靜靜地躺著御吞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪漓藕。 梳的紋絲不亂的頭發(fā)上陶珠,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機與錄音享钞,去河邊找鬼揍诽。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的暑脆。 我是一名探鬼主播渠啤,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼添吗!你這毒婦竟也來了沥曹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤碟联,失蹤者是張志新(化名)和其女友劉穎妓美,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鲤孵,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡部脚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了裤纹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡丧没,死狀恐怖鹰椒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情呕童,我是刑警寧澤漆际,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站夺饲,受9級特大地震影響奸汇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜往声,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一擂找、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧浩销,春花似錦贯涎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至普筹,卻和暖如春败明,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背太防。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工妻顶, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓盈包,卻偏偏與公主長得像沸呐,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子呢燥,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容