URL

nodejs中针对url的常用方法。
node下打印url,结果:

引入url模块

var url = require('url')

1、parse方法

将url解析成对象,parse方法原型:

url.parse(urlStr[, parseQueryString][, slashesDenoteHost])

可传递三个参数,第一个必须
urlStr:要解析成对象的url字符串
parseQueryString:是否解析查询参数,默认为false
slashesDenoteHost:是否以斜线解析主机名,默认为false

只给第一个参数:

var url = require('url');var testUrl1 = 'z.qingk.cn/information-info/tengzhou/e75bab8405254b04b2fab0a9f54e4838/dbvbotovboussowbwssvossdqaxqssxw/7519fbc4d85ea4c3589d8d751c507222/b011a8c5bbab4050953cb722bccb5095?param1=111&param2=222'
var urlParseUrl1 = url.parse(testUrl1)
console.log(urlParseUrl1);

结果:

第二个参数设为true
也就是说要同时把url中?之后的查询参数解析成对象

var url = require('url');var testUrl1 = 'z.qingk.cn/information-info/tengzhou/e75bab8405254b04b2fab0a9f54e4838/dbvbotovboussowbwssvossdqaxqssxw/7519fbc4d85ea4c3589d8d751c507222/b011a8c5bbab4050953cb722bccb5095?param1=111&param2=222'
var urlParseUrl1 = url.parse(testUrl1);
console.log(urlParseUrl1);var urlParseUrl2 = url.parse(testUrl1,true);
console.info(urlParseUrl2);

结果:

第三个参数设置为true
也就是当不知道url协议时,以//为依据识别host

var testUrl2 = '//z.qingk.cn/information-info/tengzhou/e75bab8405254b04b2fab0a9f54e4838/dbvbotovboussowbwssvossdqaxqssxw/7519fbc4d85ea4c3589d8d751c507222/b011a8c5bbab4050953cb722bccb5095?param1=111&param2=222';var urlParseUrl3 = url.parse(testUrl2,false,false);
console.info(urlParseUrl3);var urlParseUrl4 = url.parse(testUrl2,false,true);
console.info(urlParseUrl4);

结果:

2、format方法

format就是parse的返过程,把对象转换成url字符串

var testObj1 = {protocol: null,slashes: true,auth: null,host: 'z.qingk.cn',port: null,hostname: 'z.qingk.cn',hash: null,search: '?param1=111&param2=222',query: 'param1=111&param2=222',pathname: '/information-info/tengzhou/e75bab8405254b04b2fab0a9f54e4838/dbvbotovboussowbwssvossdqaxqssxw/7519fbc4d85ea4c3589d8d751c507222/b011a8c5bbab4050953cb722bccb5095',path: '/information-info/tengzhou/e75bab8405254b04b2fab0a9f54e4838/dbvbotovboussowbwssvossdqaxqssxw/7519fbc4d85ea4c3589d8d751c507222/b011a8c5bbab4050953cb722bccb5095?param1=111&param2=222',href: '//z.qingk.cn/information-info/tengzhou/e75bab8405254b04b2fab0a9f54e4838/dbvbotovboussowbwssvossdqaxqssxw/7519fbc4d85ea4c3589d8d751c507222/b011a8c5bbab4050953cb722bccb5095?param1=111&param2=222'};
var rsUrl = url.format(testObj1);
console.info(rsUrl)

结果:

//z.qingk.cn/information-info/tengzhou/e75bab8405254b04b2fab0a9f54e4838/dbvbotovboussowbwssvossdqaxqssxw/7519fbc4d85ea4c3589d8d751c507222/b011a8c5bbab4050953cb722bccb5095?param1=111&param2=222

parse中每一种形式的url所生成的结果,format都可以进行逆过程的转换。

3、resolve方法

返回从根目录指定到当前目录的绝对路径url。返回结果去除参数和锚点,返回结果标准url路径格式

    var url=require('url');  //指定相对路径  var url1=url.resolve('http://qingk.cn/one/two/three','four');  console.log(url1); //http://qingk.cn/one/two/four  //指定根目录的相对路径  var url3=url.resolve('http://qingk.cn/one/two/three','/four');  console.log(url3); //http://qingk.cn/four  //带参数的相对路径  var url2=url.resolve('http://qingk.cn/one/two/three?name=zhangsan','four');  console.log(url2); //http://qingk.cn/one/two/four  //非标准分隔符的原路径  var url4=url.resolve('http://qingk.cn\\one#name1','/four');  console.log(url4);//http://qingk.cn/four  //非标准分隔符的相对路径  var url5=url.resolve('http://qingk.cn/one','\\two\\three');  console.log(url5);//http://qingk.cn/two/three  

nodejs常用模块-url相关推荐

  1. NodeJS常用模块介绍

    收集了NodeJS开发中常用的一些模块. MVC框架 - Express Express 是轻量灵活的Nodejs Web应用框架,它可以快速地搭建网站.Express框架建立在Nodejs内置的Ht ...

  2. NodeJS 常用模块推荐

    cluster&forever cluster & forever 虽然 nodejs 原生已经提供了 cluster 模块,大部分情况下可以满足我们的基本需求,但这两个模块 clus ...

  3. Nodejs urlencode模块url加密解密

    安装 npm install urlencode 使用 var urlencode = require('urlencode');console.log(urlencode('苏千')); // de ...

  4. js foreach用法_使用 nodejs 写爬虫(一): 常用模块和 js 语法

    本篇是使用 nodejs 写爬虫系列教程的第一篇, 介绍了使用 nodejs 写爬虫过程中常用的模块和一些必须掌握的 js 语法 <!-- more --> 常用模块 常用模块有以下几个: ...

  5. nodejs常用核心模块介绍

    Node核心模块之HTTP模块 作用:处理客户端的网络请求代码步骤:1.导入 HTTP 核心模块2.监听客户端的请求3.处理客户端的请求4.开启服务器 Node核心模块之URL模块 作用:处理客户端请 ...

  6. 带你一起撸一遍 nodejs 常用核心模块(二)

    前沿:核心模块二主要是和流相关的部分,当然要想给这一块有清楚的了解,你需要对核心模块(一)中的内容有一些了解. fs模块 fs模块的常见方法(所有的读方法,文件必须存在,不存在就会报错,所有的写方法, ...

  7. 实战篇一 python常用模块和库介绍

    # -_-@ coding: utf-8 -_-@ -- Python 常用模块和库介绍 第一部分:json模块介绍 import json 将一个Python数据结构转换为JSON: dict_ = ...

  8. python常用模块大全总结-常用python模块

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. python常用模块什么是模块? 常见的场景:一个模块就是一个包含了py ...

  9. NodeJS Web模块

    NodeJS Web模块 本文介绍nodeJS的http模块的基本用法,实现简单服务器和客户端 经典Web架构 Client:客户端一般指浏览器,通过HTTP协议向服务器发送请求(request) S ...

最新文章

  1. C++入门经典-例9.4-默认模板参数
  2. springboot事物注解不生效_Springboot注解事务隔离性无效
  3. 非平衡电桥电阻计算_热电阻四线制、三线制、两线制的区别
  4. 巧用FlashPaper 让Word文档变Flash
  5. Docker的安装及操作
  6. am大学计算机科学,曹同学-综合大学排名80的TexasAMUniversity计算机科学硕士
  7. 《Java并发编程的艺术》第3章 Java内存模型
  8. 『资源』机器学习实践中文资源合集
  9. Java开发、网络爬虫、自然语言处理、数据挖掘简介
  10. 专访时速云|容器云“老兵”与云原生“新战场”
  11. Linux 题库及答案永久开放共同学习进步
  12. iOS 逆向编程(二十三)dsc_extractor 动态库提取器
  13. 计算机内存满了 可是硬盘空的,为什么计算机内存不足
  14. [统计学笔记] (八)分类数据分析
  15. 微信小程序开发之大转盘 抽奖
  16. JS组合函数(Composition):原来如此!
  17. Android Developers:支持不同的屏幕大小
  18. 五本珍稀数学电子书出售
  19. Excel在统计分析中的应用—第五章—统计指数-Part2- 综合指数(基期加权指数(拉氏指数))
  20. 微项目:名片管理系统

热门文章

  1. 机器学习 数据模型_使用PyCaret将机器学习模型运送到数据—第二部分
  2. python调用C语言函数(方法)的几种方法
  3. 全球10亿美元以上富翁人数排名,杭州超越东京,大家怎么看
  4. 年关节点,小心这9大贷款骗局
  5. 干旱的草原与拉大提琴的牧人
  6. bug?VS2010中CImageList::DrawIndirect总是返回失败
  7. OOo-MySpell 一个C++的拼写语法检查开源项目
  8. java spring框架 注解_spring框架之注解的使用
  9. linux 恢复boot分区,Linux boot分区格式化后恢复 示例
  10. python中 是什么运算符_Python 运算符