node.js学习第四天--url处理
2014-12-14 00:32
309 查看
1、parse函数的基础用法
parse函数的作用是解析url,返回一个json格式的数组,请看如下示例:var url = require('url'); url.parse('http://www.baidu.com');
运行结果:
{ protocol: 'http:', slashes: null, auth: null, host: null, port: null, hostname: null, hash: null, search: null, query: null, pathname: 'www.baidu.com', path: 'www.baidu.com', href: 'http://www.baidu.com' }
试一试传入一个url,看看返回结果是什么?
2、parse函数 —— 条件解析
parse函数的第二个参数是布尔类型,当参数为true时,会将查询条件也解析成json格式的对象。var url = require('url'); url.parse('http://www.baidu.com?page=1',true);
运行结果:
{ protocol: 'http:', slashes: true, auth: null, host: 'www.baidu.com', port: null, hostname: 'www.baidu.com', hash: null, search: '?page=1', query: { page: '1' }, pathname: '/', path: '/?page=1', href: 'http://www.baidu.com/?page=1' }
试一试,当参数分别为true和false时,返回数据中的query字段的内容有什么不同。
通过query字段内容的变化,我们是不是可以通过它获取点什么呢,继续深入学习parse函数吧!
[b]3、parse函数 —— 解析主机[/b]
parse函数的第三个参数也是布尔类型的,当参数为true,解析时会将url的"//"和第一个"/"之间的部分解析为主机名,示例如下:
var url = require('url'); url.parse('http://www.baidu.com/news',false,true);
运行结果:
{ protocol: 'http:', slashes: true, auth: null, host: 'www.baidu.com', port: null, hostname: 'www.baidu.com', hash: null, search: null, query: null, pathname: '/news', path: '/news', href: 'http://www.baidu.com/news' }
较之前面的示例,host的内容不再是null了。
动手试一试,看看对比返回内容的不同。
通过参数的变化,我们了解parse函数可以解析url、获取host、query,还有其他的嘛,发掘吧,少年!
4、format函数的基础用法
format函数的作用与parse相反,它的参数是一个JSON对象,返回一个组装好的url地址,请看如下示例:var url = require('url'); url.format({ protocol: 'http:', hostname:'www.baidu.com', port:'80', pathname :'/news', query:{page:1} });
运行结果:
http://www.baidu.com/news?page=1
参数JSON对象的字段跟parse函数解析后返回的JSON字段一一对应。
试一试传入一个对象,看看返回url是什么。
小拓展:format方法允许将一个URL对象转换为URL字符串。
5、resolve函数的基础用法
resolve函数的参数是两个路径,第一个路径是开始的路径或者说当前路径,第二个则是想要去往的路径,返回值是一个组装好的url,示例如下:var url = require('url'); url.resolve('http://example.com/', '/one') // 'http://example.com/one' url.resolve('http://example.com/one', '/two') // 'http://example.com/two'
动动手,试一试resolve函数。
resolve函数可以用于拼接URL。
6、课程小结
本节课程讲解了url模块常用的一些功能,如果你想了解更多,可以参考以下资料:http://nodejs.cn/api/url
相关文章推荐
- node.js学习(十八、URL模块)
- Node.js学习之地址解析模块URL的使用详解
- node.js 学习第四天 请求的方式 同步--异步请求数据
- Node.js学习笔记(3)--url.parse方法
- node.js学习笔记--官方原生模块-queryString,url,Buffer
- node.js(三)url处理
- node.js学习笔记2——querystring (查询字符串,参数处理)
- Node.js中的URL处理方法
- node.js 学习第七天 流的处理
- node.js入门学习之url模块
- node.js 学习笔记三:路由url
- Nodejs HTTP请求的超时处理(Nodejs HTTP Client Request Timeout Handle)
- 学习node.js-02
- node.js入门学习
- node.js进阶学习
- node.js之url模块
- node.js进阶学习
- [学习记录]js处理json的list对象
- 学习NodeJS第一天:node.js引言(转)
- node.js入门学习