nodejs入门:URL相关模块用法分析

 
nodejs入门:URL相关模块用法分析
2017-05-19 00:50:22 /故事大全

本文实例讲述了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=n6624339d99 var 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:计算机之间遵循的协议

所属专题:
如果您觉得本文或图片不错,请把它分享给您的朋友吧!

 
搜索
 
 
广告
 
 
广告
 
故事大全
 
版权所有- © 2012-2015 · 故事大全 SITEMAP站点地图手机看故事 站点地图