W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
穩(wěn)定性: 3 - 穩(wěn)定
Node.js的URL模塊提供了用于分析和解析URL的實(shí)用程序。可以調(diào)用require('url')
來(lái)訪問(wèn)它:
const url = require('url');
解析URL對(duì)象有以下內(nèi)容,依賴于他們是否在URL字符串里存在。任何不在URL字符串里的部分,都不會(huì)出現(xiàn)在解析對(duì)象里。例子如下:
'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'
href
:準(zhǔn)備解析的完整的URL,包含協(xié)議和主機(jī)(小寫(xiě))。
例子:'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'
protocol
: 請(qǐng)求協(xié)議,小寫(xiě)。
例子:'http:'
slashes
: 協(xié)議要求的斜杠(冒號(hào)后)
例子:true或false
host
: 完整的URL小寫(xiě)主機(jī)部分,包含端口信息。
例子:'host.com:8080'
auth
: url中的驗(yàn)證信息。
例子:'user:pass'
hostname
: 域名中的小寫(xiě)主機(jī)名
例子:'host.com'
port
: 主機(jī)的端口號(hào)
例子:'8080'
pathname
: URL中的路徑部分,在主機(jī)名后,查詢字符前,包含第一個(gè)斜杠。
例子:'/p/a/t/h'
search
: URL中得查詢字符串,包含開(kāi)頭的問(wèn)號(hào)
例子:'?query=string'
path
: pathname
和search
連在一起
例子:'/p/a/t/h?query=string'
query
: 查詢字符串中得參數(shù)部分,或者使用querystring.parse()解析后返回的對(duì)象。
例子:'query=string'
或者{'query':'string'}
hash
: URL的“#”后面部分(包括 # 符號(hào))
例子:'#hash'
URL模塊提供了以下方法:
輸入U(xiǎn)RL字符串,返回一個(gè)對(duì)象。
第二個(gè)參數(shù)為true
時(shí),使用querystring
來(lái)解析查詢字符串。如果為true
,query
屬性將會(huì)一直賦值為對(duì)象,并且search
屬性將會(huì)一直是字符串(可能為空)。默認(rèn)為false
。
第三個(gè)參數(shù)為true
,把//foo/bar
當(dāng)做{ host: 'foo', pathname: '/bar' }
,而不是{ pathname: '//foo/bar' }
。默認(rèn)為false
。
輸入一個(gè)解析過(guò)的URL對(duì)象,返回格式化過(guò)的字符串。
格式化的工作流程:
href
會(huì)被忽略protocol
無(wú)論是否有末尾的 : (冒號(hào)),會(huì)同樣的處理http
,https
,ftp
,gopher
,file
協(xié)議會(huì)被添加后綴://
mailto
,xmpp
,aim
,sftp
,foo
等協(xié)議添加后綴:
slashes
如果協(xié)議需要://
,設(shè)置為true。mongodb://localhost:8000/
auth
如果出現(xiàn)將會(huì)使用.hostname
僅在缺少host
時(shí)使用port
僅在缺少host
時(shí)使用host
用來(lái)替換hostname
和port
pathname
無(wú)論結(jié)尾是否有“/”將會(huì)同樣處理search
將會(huì)替 query屬性query
(對(duì)象;參見(jiàn)querystring
) 如果沒(méi)有search,將會(huì)使用hash
無(wú)論前面是否有#,都會(huì)同樣處理給一個(gè)基礎(chǔ)URL,href URL,如同瀏覽器一樣的解析它們可以帶上錨點(diǎn),例如:
url.resolve('/one/two/three', 'four') // '/one/two/four'
url.resolve('http://example.com/', '/one') // 'http://example.com/one'
url.resolve('http://example.com/one', '/two') // 'http://example.com/two'
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: