时间:2021-05-26
本文实例讲述了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=n6624339d992. 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程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
相关阅读:AngularJS入门教程之AngularJS表达式AngularJS入门教程之AngularJS指令在前面表达式和指令的教程中了解到,Angular
本文实例讲述了nodejs入门教程之连接数据库的方法。分享给大家供大家参考,具体如下:参考文章链接:nodejs连接mysql1.准备工作在nodejs中没有m
本文实例讲述了nodejs入门教程之调用内部和外部方法。分享给大家供大家参考,具体如下:1.创建fun.jsvarfun3=require('./fun3');
关于LoadRunner基础入门教程的介绍就到这里了,希望对大家有所帮助!想要详细了解LoadRunner基础入门教程,可以继续关注软件问题的最新动态。注意
本文实例讲述了ZendFramework入门教程之Zend_View组件用法。分享给大家供大家参考,具体如下:Zend_View组件可以实现MVC模式中视图部分