国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

nodejs入門教程四:URL相關模塊用法分析

2019-11-19 16:45:18
字體:
來源:轉載
供稿:網友

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

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

1)URI 與 URL :

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

2)URL模塊中的方法:

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

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

第一個Boolean

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

第二個Boolean

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

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

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

結果:

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

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

應用:針對于大量的參數傳遞的場景

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

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

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

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

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

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

默認為 querystring.escape()

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

3. http:計算機之間遵循的協議

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宿松县| 顺义区| 深州市| 铜山县| 广宗县| 股票| 吉木乃县| 赣州市| 德惠市| 类乌齐县| 航空| 镇坪县| 荆州市| 阿拉善盟| 桦南县| 石渠县| 汝南县| 全椒县| 都江堰市| 城固县| 论坛| 永和县| 仙游县| 邵武市| 邵阳市| 沐川县| 丰顺县| 乐昌市| 吉木萨尔县| 大理市| 长寿区| 南雄市| 青龙| 延庆县| 乌兰浩特市| 肃宁县| 辉南县| 井冈山市| 谷城县| 新晃| 顺义区|