1.parse函数的基础用法

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' }

2.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' }

3.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' }
  13. 较之前面的示例,host的内容不再是null了。

4.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字段一一对应。

5.resolve函数的基础用法

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

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

node.js(三)url处理的更多相关文章

  1. node.js获取url中的各个参数

    实例代码test.js var http=require('http'); var url=require('url'); var querystring=require('querystring') ...

  2. Node.js:url

    在node运行环境中输入url: > url url { parse: [Function: urlParse], resolve: [Function: urlResolve], resolv ...

  3. node.js处理url常用方法

    处理非阻塞I/O /* *回调函数的方法 异步 */ /* function f(cb){ fs.readFile('./4',(err,data)=>{ cb(data.toString()) ...

  4. [读书笔记]了不起的node.js(三)

    这周的nodejs学习内容为几个依赖包的使用,把书上的例子都敲了一遍.这篇就以例程为线索,复习一下一周的工作. 1.connect 这个例程主要是使用connect依赖包,connect提供一个中间件 ...

  5. 34.node.js之Url & QueryString模块

    转自:https://i.cnblogs.com/posts?categoryid=1132005&page=6//引用 var url = require("url"); ...

  6. Node.js的url模块简介

    什么是URL URL是Uniform Location Resource的缩写,翻译为“统一资源定位符”,也就是描述资源位置的固定表示方法.被URL描述的资源可以位于互联网上,也可以位于本地. URL ...

  7. Node.js中url的详解

    var url = require('url');var str = 'http://zhufengnodejs:123@github.com:80/2016jsnode?name=zfpx& ...

  8. node.js 的url模块

    var URL = require('url');  var testUrl = "http://www.baidu.com:8080/index.php?content=abc" ...

  9. 从零开始学习Node.js例子一 http get和post

    httpserverrequestget.js /* 获取GET请求内容 由于GET请求直接被嵌入在路径中,URL是完整的请求路径,包括了?后面的部分,因此你可以手动解析后面的内容作为GET请求的参数 ...

随机推荐

  1. linux之SQL语句简明教程---外部连接

    之前我们看到的左连接 (left join),又称内部连接 (inner join).在这个情况下,要两个表格内都有同样的值,那一笔资料才会被选出.那如果我们想要列出一个表格中每一笔的资料,无论它的值 ...

  2. c++多线程崩溃错误1

    主线程中的子线程没有jion,导致主线程马上结束,子线程对象被释放掉,而子线程还在后台继续执行导致崩溃 int main() OBJ = classA() OBJ.START()//在start函数中 ...

  3. 命名空间“System.Windows.Forms”中不存在类型或命名空间名称“DataVisualization”。是否缺少程序集引用?

    using System.Windows.Forms.DataVisualization.Charting; 编译时报警:命名空间"System.Windows.Forms"中不存 ...

  4. HDU 1757 A Simple Math Problem(矩阵高速幂)

    题目地址:HDU 1757 最终会构造矩阵了.事实上也不难,仅仅怪自己笨..= =! f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + -- + a9 ...

  5. 获取json对象长度

    JSON对象变化万千,非常灵活,对应的获取方法分别为: 1.最简单类型的(myObject是对象,不是字符串哦) <script type="text/javascript" ...

  6. Linux下 静态链接库 和 动态链接库

    先来说说C/C++编译过程 编译: 检查语句符号定义,将C/C++代码翻译生成中间语言. 链接: 将中间代码整合,生成可执行的二进制代码. 简单的说,库文件都是一种特殊的中间语言文件,静态库还是一种特 ...

  7. Java文件IO操作应该抛弃File拥抱Path和Files

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...

  8. java Timer 使用小结

    Java自带的java.util.Timer类,通过调度一个java.util.TimerTask任务.这种方式可以让程序按照某一个频度执行,但不能指定时间运行.用的较少. 任务的调用通过起的子线程进 ...

  9. 将Eclipse代码导入到Android Studio的两种方式

    转: http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0104/2259.html 说到使用Android Studio,除了新建 ...

  10. Java之线程的生命周期

    在Java中,线程有5中不同状态,分别是:新建(New).就绪(Runable).运行(Running).阻塞(Blocked)和死亡(Dead).它们之间的转换图如下: 上图有一个例外,调用yiel ...