Node.js-入门四--url处理

时间:2023-01-14 17:12:11

1.url处理 url模块的基本用法                                                            


node.js为互联网而生,和url打交道是无法避免的了,url模块提供一些基础的url处理。

2.parse函数的基础用法            (解析url)                                    


parse函数的作用是解析url,返回一个json格式的数组,请看如下示例:

 
 
  1. var url = require('url');
  2. url.parse('http://www.baidu.com');

运行结果:

 
 
  1. { protocol: 'http:',
  2. slashes: null,
  3. auth: null,
  4. host: null,
  5. port: null,
  6. hostname: null,
  7. hash: null,
  8. search: null,
  9. query: null,
  10. pathname: 'www.baidu.com',
  11. path: 'www.baidu.com',
  12. href: 'http://www.baidu.com' }
3.parse函数----条件解析                                                              


parse函数的第二个参数是布尔类型,当参数为true时,会将查询条件也解析成json格式的对象。

 
 
  1. var url = require('url');
  2. url.parse('http://www.baidu.com?page=1',true);

运行结果:

 
 
  1. { protocol: 'http:',
  2. slashes: true,
  3. auth: null,
  4. host: 'www.baidu.com',
  5. port: null,
  6. hostname: 'www.baidu.com',
  7. hash: null,
  8. search: '?page=1',
  9. query: { page: '1' },
  10. pathname: '/',
  11. path: '/?page=1',
  12. href: 'http://www.baidu.com/?page=1' }
4.parse函数----解析主机                                                              


parse函数的第三个参数也是布尔类型的,当参数为true,解析时会将url的"//"和第一个"/"之间的部分解析为主机名,示例如下:

 
 
  1. var url = require('url');
  2. url.parse('http://www.baidu.com/news',false,true);

运行结果:

 
 
  1. { protocol: 'http:',
  2. slashes: true,
  3. auth: null,
  4. host: 'www.baidu.com',
  5. port: null,
  6. hostname: 'www.baidu.com',
  7. hash: null,
  8. search: null,
  9. query: null,
  10. pathname: '/news',
  11. path: '/news',
  12. href: 'http://www.baidu.com/news' }

较之前面的示例,host的内容不再是null了。

6.format函数的基础用法                    (格式化 )                 


format函数的作用与parse相反,它的参数是一个JSON对象,返回一个组装好的url地址,请看如下示例:

 
 
  1. var url = require('url');
  2. url.format({
  3. protocol: 'http:',
  4. hostname:'www.baidu.com',
  5. port:'80',
  6. pathname :'/news',
  7. query:{page:1}
  8. });

运行结果:

 
 
  1. http://www.baidu.com/news?page=1

参数JSON对象的字段跟parse函数解析后返回的JSON字段一一对应。


6.resolve函数的基本用法                                                                


resolve函数的参数是两个路径,第一个路径是开始的路径或者说当前路径,第二个则是想要去往的路径,返回值是一个组装好的url,示例如下:

 
 
  1. var url = require('url');
  2.  
  3. url.resolve('http://example.com/', '/one') // 'http://example.com/one'
  4. url.resolve('http://example.com/one', '/two') // 'http://example.com/two'