zoukankan      html  css  js  c++  java
  • nodejs笔记三--url处理、Query String;

    URL--该模块包含用以 URL 解析的实用函数。 使用 require('url') 来调用该模块。


     一、parse函数的基础用法

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

    var url = require('url');
    url.parse('http://sports.sina.com.cn/nba/')

    运行结果:

    protocol: 'http:',
    slashes: true,
    auth: null,
    host: 'sports.sina.com.cn',
    port: null,
    hostname: 'sports.sina.com.cn',
    hash: null,
    search: null,
    query: null,
    pathname: '/nba/',
    path: '/nba/',
    href: 'http://sports.sina.com.cn/nba/' }

    二、parse函数 —— 条件解析;

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

    var url = require('url');
    url.parse('http://sports.sina.com.cn/nba/',true)

    运行结果:

    protocol: 'http:',
    slashes: true,
    auth: null,
    host: 'sports.sina.com.cn',
    port: null,
    hostname: 'sports.sina.com.cn',
    hash: null,
    search: '',
    query: {},
    pathname: '/nba/',
    path: '/nba/',
    href: 'http://sports.sina.com.cn/nba/' }

    三、parse函数 —— 解析主机;

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

    var url = require('url');
    url.parse('http://sports.sina.com.cn/nba/',false,true)

    运行结果:

    protocol: 'http:',
    slashes: true,
    auth: null,
    host: 'sports.sina.com.cn',
    port: null,
    hostname: 'sports.sina.com.cn',
    hash: null,
    search: null,
    query: null,
    pathname: '/nba/',
    path: '/nba/',
    href: 'http://sports.sina.com.cn/nba/' }

    四、url.format(urlObj)

    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:80/news?page=1'

    五、resolve函数的基础用法;

    url.resolve(from, to),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'

    Query String--这个模块提供一些处理 query string 的工具。它提供下列方法:


     一、querystring.stringify(obj, [sep], [eq])

    序列化一个对象到一个 query string。可以选择是否覆盖默认的分割符('&')和分配符('=')。

    querystring.stringify({name:'jone',age:28},',',':')
    // 运行结果
    'name:jone,age:28'

    二、querystring.parse(str, [sep], [eq], [options])

    将一个 query string 反序列化为一个对象。可以选择是否覆盖默认的分割符('&')和分配符('=')。

    querystring.parse('name=jone&age=28&work=teacher&address')
    // 运行结果
    { name: 'jone', age: '28', work: 'teacher', address: '' }

    相关API参考:http://nodeapi.ucdok.com/#/api/all.html

  • 相关阅读:
    在VC中设置某些文件不参加编译的方法
    VC7/VC8开发的库在VC6中的使用问题转载
    *.tar.bz2文件解压
    设置VC工程为Debug或Releas版本的方法
    Linux下设置环境变量命令export
    Source insight中设置字体方法
    双系统或虚拟机中与主机时间不一致解决方法
    制作启动光盘方法
    Linux下nfs服务器搭建
    ghost的备份与恢复转载
  • 原文地址:https://www.cnblogs.com/jone-chen/p/5318932.html
Copyright © 2011-2022 走看看