node.js入门学习之url模块

前言

今天主要记录的是关于node.js里面的一个简单的模块,url模块。这个url的模块要使用的话需要先引入。若只是在命令行里比如cmd或git bash 等使用url这个模块的话,是不需要require进来的。直接使用便可。

引入模块

var url = require('url');

一、url.parse()

/* url.parse(urlString[,parseQueryString[,slashesDenoteHost]])
 * urlString <string>将被解析的网址
 * parseQueryString <boolean> 默认为false,将query解析成一个字符串;如何设为true,则将query解析成一个对象
 * @return <object>
 */
var result = url.parse('https://www.baidu.com/s?ie=UTF-8&wd=node.js')
console.log(result);
// 打印结果
{
 protocol: 'https:', // url协议
 slashes: true, // 斜线'/'
 auth: null, // 用户认证
 host: 'www.baidu.com', // 主机
 port: null, // 端口
 hostname: 'www.baidu.com', // 主机名
 hash: null, // hash 值
 search: '?ie=UTF-8&wd=node.js', // url中查询信息,包含'?'
 query: 'ie=UTF-8&wd=node.js', // url中查询信息,不包含'?'
 pathname: '/s', // 跟在host之后的整个文件路径
 path: '/s?ie=UTF-8&wd=node.js', // pathname和search
 href: 'https://www.baidu.com/s?ie=UTF-8&wd=node.js' // 元素url
}

二、url.format(urlObject)

format方法与parse方法相反,它用于根据某个对象生成url

var urlObj = {
 protocol:'http',
 host:'www.baidu.com',
 pathname:'/page',
 search:'?index=1&sign=true'
}
var urlStr = url.format(urlObj);
console.log(urlStr);
// 打印结果
// http://www.baidu.com/page?index=1&sign=true

三、url.resolve(from,to)

用于拼接url

var urlStr = url.resolve('http://www.baidu.com/','page');
console.log(urlStr);
// 打印结果
// http://www.baidu.com/page

var urlStr1 = url.resolve('/page/person/','pic');
console.log(urlStr1);
// 打印结果
// /page/person/pic

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • node.js中的url.parse方法使用说明

    方法说明: 讲一个URL字符串转换成对象并返回. 语法: 复制代码 代码如下: url.parse(urlStr, [parseQueryString], [slashesDenoteHost]) 接收参数: urlStr                                       url字符串 parseQueryString                   为true时将使用查询模块分析查询字符串,默认为false slashesDenoteHost 默认为false,/

  • nodejs实现获取当前url地址及url各种参数值

    复制代码 代码如下: //需要使用的模块 http   url 当前url   http://localhost:8888/select?aa=001&bb=002 var http = require('http'); var URL = require('url'); http.createServer(function(req, res){    var arg = url.parse(req.url).query;  //方法一arg => aa=001&bb=002   

  • node.js中的url.resolve方法使用说明

    方法说明: 为URL或 href 插入 或 替换原有的标签.(不懂可以看例子) 语法: 复制代码 代码如下: url.resolve(from, to) 由于该方法属于url模块,使用前需要引入url模块(var url= require("url") ) 接收参数: from             源地址 to                 需要添加或替换的标签 例子: 复制代码 代码如下: var url = require('url'); var a = url.resolv

  • node.js中的url.format方法使用说明

    方法说明: 将一个解析后的URL对象.转成.一个格式化的URL字符串. 语法: 复制代码 代码如下: url.format(urlObj) 接收参数: urlObj 表示 URL对象,可包含以下属性:(可对照例子) href                      完整路径 protocolis            协议(如http://) auth hostname            主机名 port                      端口 host              

  • nodejs URL模块操作URL相关方法介绍

    url模块 处理HTTP请求时url模块使用率超高,因为该模块允许解析URL.生成URL,以及拼接URL.首先我们来看看一个完整的URL的各组成部分. 复制代码 代码如下: href  -----------------------------------------------------------------                             host              path                       --------------- --

  • nodejs中转换URL字符串与查询字符串详解

    一个完整的URL字符串中,从"?"(不包括?)到"#"(如果存在#)或者到该URL字符串结束(如果不存在#)的这一部分称为查询字符串. 可以使用Query String模块中的parse方法将该字符串转换为一个对象,parse方法的使用方式如下所示: querystring.parse(str,[sep],[eq],[options]); str表示被转换的查询字符串, sep.字符串中的分隔符,默认是& eq.该字符串中的分配符,默认为=."=&

  • C#Url操作类封装、仿Node.Js中的Url模块实例

    在实际开发中,需要用到的数据在url中,因此就需要我们来获取到url中有用的信息,涉及到查询.添加.修改.删除等操作,下面我们就具体来了解一下. 1.简单实例 目前常用Url操作,查询.添加.修改.删除链接参数,重构生成链接等功能. //string url = "http://www.gongjuji.net:8081"; //string url = "http://www.gongjuji.net/"; //string url = "http://

  • NodeJS学习笔记之(Url,QueryString,Path)模块

    一,开篇分析 这篇文章把这三个模块拿来一起说,原因是它们各自的篇幅都不是很长,其次是它们之间存在着依赖关系,所以依次介绍并且实例分析.废话不多说了,请看下面文档: (1),"Url模块" 来个小栗子: 复制代码 代码如下: var url = require('url');  var queryUrl = "http://localhost:8888/bb?name=bigbear&memo=helloworld" ;  console.log(typeof

  • NodeJS url验证(url-valid)的使用方法

    Javascript做url检验,通常是使用正则表达式来判定,其格式是否正确,例如: 复制代码 代码如下: /^https?:\/\//.test(url); 当然还有更好的检测方法比如基于RFC 3986, RFC 3966, RFC 4694, RFC 4759, RFC 4904等标准的进行验证的valid-url库.不过个根据格式进行验证当然不能确定该url是否存在啦,所以就有了url-valid,我们基于HTTP请求进行验证. 接口设计实际上我们只需要一个函数传入一个url地址,并回调

  • NodeJS的url截取模块url-extract的使用实例

    上次介绍了怎么利用NodeJS + PhantomJS进行截图,但由于对每次截图操作,都启用了一个PhantomJS进程,所以并发量上去后,效率堪忧,所以我们重写了所有代码,并将其独立成为一个模块,方便调用.如何改进?控制线程数,以及单线程处理url数量.使用Standard Output & WebSocket 进行通讯.添加缓存机制,目前使用Javascript Object进行.对外提供简易的接口. 设计图 依赖 & 安装 由于PhantomJS 1.9.0+才开始支持Websock

随机推荐