zoukankan      html  css  js  c++  java
  • node.js学习第四天--url处理

    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函数吧!

    3、parse函数 —— 解析主机

    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模块常用的一些功能,如果你想了解更多,可以参考以下资料:

  • 相关阅读:
    013.ES6 -对象字面量增强型写法
    012. ES6
    011. ES6 语法
    10. 9. Vue 计算属性的setter和getter 以及 计算属性的缓存讲解
    4. Spring MVC 数据响应方式
    3. SpringMVC 组件解析
    9. Vue 计算属性
    【洛谷 2984】给巧克力
    【洛谷 1821】捉迷藏 Hide and Seek
    【洛谷 1821】银牛派对Silver Cow Party
  • 原文地址:https://www.cnblogs.com/niuchunjian/p/4162135.html
Copyright © 2011-2022 走看看