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

  • 相关阅读:
    ZOJ 3609 Modular Inverse (水题)
    ZOJ 3607 Lazier Salesgirl (贪心)
    POJ 1730 Perfect Pth Powers (枚举||分解质因子)
    POJ 2262 Goldbach's Conjecture (素数判断)
    LA 3135 Argus (优先队列)
    uva 11991 (map vector 嵌套)
    hdu 1022 Train Problem I(stack)
    poj 1837 blance (01背包)
    hdu 1242 rescue (优先队列 bfs)
    hdu 3033 I love sneakers!(分组背包)
  • 原文地址:https://www.cnblogs.com/niuchunjian/p/4162135.html
Copyright © 2011-2022 走看看