nodejs URL模塊操作URL相關(guān)方法介紹
來源:易賢網(wǎng) 閱讀:760 次 日期:2015-03-06 10:28:04
溫馨提示:易賢網(wǎng)小編為您整理了“nodejs URL模塊操作URL相關(guān)方法介紹”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了nodejs URL模塊操作URL相關(guān)方法介紹,本文講解了parse方法、format方法、querystring方法等,需要的朋友可以參考下

url模塊

處理HTTP請求時url模塊使用率超高,因為該模塊允許解析URL、生成URL,以及拼接URL。首先我們來看看一個完整的URL的各組成部分。

代碼如下:

href

-----------------------------------------------------------------

host path

--------------- ----------------------------

http: // user:pass @ host.com : 8080 /p/a/t/h ?query=string #hash

----- --------- -------- ---- -------- ------------- -----

protocol auth hostname port pathname search hash

------------

query

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

代碼如下:

url.parse('http://user:pass@host.com:8080/p/a/t/h?query=string#hash');

/* =>

{ protocol: 'http:',

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:pass@host.com:8080/p/a/t/h?query=string#hash' }

*/

傳給.parse方法的不一定要是一個完整的URL,例如在HTTP服務器回調(diào)函數(shù)中,request.url不包含協(xié)議頭和域名,但同樣可以用.parse方法解析。

代碼如下:

http.createServer(function (request, response) {

var tmp = request.url; // => "/foo/bar?a=b"

url.parse(tmp);

/* =>

{ protocol: null,

slashes: null,

auth: null,

host: null,

port: null,

hostname: null,

hash: null,

search: '?a=b',

query: 'a=b',

pathname: '/foo/bar',

path: '/foo/bar?a=b',

href: '/foo/bar?a=b' }

*/

}).listen(80);

.parse方法還支持第二個和第三個布爾類型可選參數(shù)。第二個參數(shù)等于true時,該方法返回的URL對象中,query字段不再是一個字符串,而是一個經(jīng)過querystring模塊轉(zhuǎn)換后的參數(shù)對象。第三個參數(shù)等于true時,該方法可以正確解析不帶協(xié)議頭的URL,例如//www.example.com/foo/bar。

反過來,format方法允許將一個URL對象轉(zhuǎn)換為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');

/* =>

*/

Query String

querystring模塊用于實現(xiàn)URL參數(shù)字符串與參數(shù)對象的互相轉(zhuǎn)換,示例如下。

代碼如下:

querystring.parse('foo=bar&baz=qux&baz=quux&corge');

/* =>

{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }

*/

querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' });

/* =>

'foo=bar&baz=qux&baz=quux&corge='

*/

更多信息請查看IT技術(shù)專欄

更多信息請查看腳本欄目
易賢網(wǎng)手機網(wǎng)站地址:nodejs URL模塊操作URL相關(guān)方法介紹

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)