广告
返回顶部
首页 > 资讯 > 精选 >Node中的url模块和querystring模块怎么使用
  • 732
分享到

Node中的url模块和querystring模块怎么使用

2023-07-05 05:07:04 732人浏览 薄情痞子
摘要

这篇文章主要讲解了“node中的url模块和querystring模块怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node中的url模块和querystring模块怎么使用”吧!u

这篇文章主要讲解了“node中的url模块和querystring模块怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node中的url模块和querystring模块怎么使用”吧!

url模块和querystring模块是非常重要的两个URL处理模块。在做node服务端的开发时会经常用到。

url

在介绍url模块之前我们先来一张图,看懂了这张图对于url这个模块你就基本上没什么问题了。

Node中的url模块和querystring模块怎么使用

我们来解释下各自的含义

  • protocol:协议,需要注意的是包含了:,并且是小写的。【相关教程推荐:nodejs视频教程、编程教学】

  • slashes:如果:后面跟了两个//,那么为true。

  • auth:认证信息,如果有密码,为usrname:passwd,如果没有,则为usrname。注意,这里区分大小写。

  • host:主机名。注意包含了端口,比如ke.qq.com:8080,并且是小写的。

  • hostname:主机名,不包含端口,并且是小写的。

  • port: 端口号。

  • path:路径部分,包含search部分。

  • pathname:路径部分,不包含search部分。

  • search:查询字符串,注意,包含了?,此外,值是没有经过decode的。

  • query:字符串 或者 对象。如果是字符串,则是search去掉?,其余一样;如果是对象,那么是decode过的。

  • hash:哈希部分,注意包含了#

  • href:原始的地址。不过需要注意的是,protocolhost会被转成小写字母。

下面我们来讲解下它的三个常用方法

parse(urlString, parseQueryString, slashesDenoteHost)

该方法将url字符串,解析成object,便于开发者进行操作。

const url = require("url");const str = "Http://user:passWord@randy.com:8080/index.html?nick=%E4%B8%AD%E6%96%87#part=1";const obj = url.parse(str);console.log(obj);

输出

Node中的url模块和querystring模块怎么使用

该方法还支持传递另外两个参数,parseQueryStringslashesDenoteHos

parseQueryString:(默认为false)如为false,则urlObject.query为未解析的字符串,比如nick=%E4%B8%AD%E6%96%87,且对应的值不会decode;如果parseQueryString为true,则urlObject.queryobject,比如{ nick: '中文' },且值会被`decode;

const url = require("url");const str = "http://user:password@randy.com:8080/index.html?nick=%E4%B8%AD%E6%96%87#part=1";const obj2 = url.parse(str, true);console.log(obj2);

Node中的url模块和querystring模块怎么使用

slashesDenoteHos:(默认为false)如果为true,那么类似//randy/nick里的randy就会被认为是hostname;如果为false,则randy被认为是pathname的一部分。

光看起来可能不太理解这句话的含义,下面笔者举个例子我相信你们就明白了。

const str2 = "//randy/nick";const obj3 = url.parse(str2, true, false);console.log(obj3);const obj4 = url.parse(str2, true, true);console.log(obj4);

Node中的url模块和querystring模块怎么使用

format(urlObject)

这个方法就是parse的反向操作。将对象转成url字符串。

const pathObj = {  protocol: "http:",  slashes: true,  auth: "user:password",  host: "randy.com:8080",  port: "8080",  hostname: "randy.com",  hash: "#part=1",  search: "?nick=%E4%B8%AD%E6%96%87",  query: "nick=%E4%B8%AD%E6%96%87",  pathname: "/index.html",  path: "/index.html?nick=%E4%B8%AD%E6%96%87",  href: "http://user:password@randy.com:8080/index.html?nick=%E4%B8%AD%E6%96%87#part=1",};console.log(url.fORMat(pathObj)); // http://user:password@randy.com:8080/index.html?nick=%E4%B8%AD%E6%96%87#part=1

resolve(from, to)

该方法用于解析相对于基本URL的目标URL

console.log(url.resolve("/one/two/three", "four")); // /one/two/fourconsole.log(url.resolve("http://example.com/", "/one")); // http://example.com/oneconsole.log(url.resolve("http://example.com/one", "/two")); // http://example.com/twoconsole.log(url.resolve("http://example.com/one/DDD/ddd/ddd", "./two")); // http://example.com/one/ddd/ddd/twoconsole.log(url.resolve("http://example.com/one/ddd/ddd/ddd", "../two")); // http://example.com/one/ddd/twoconsole.log(url.resolve("http://example.com/one/ddd/ddd/ddd", ".../two")); // http://example.com/one/ddd/ddd/.../two

querystring

querystring这个模块,也是用来做url查询参数的解析。这里我们重点分析下它的parsestringify两个方法。

parse(str, sep, eq, options)

parse是将查询字符串转成对象类型,并且也会decode

const querystring = require("querystring");const str = "nick=randy&age=24&nick2=%E4%B8%AD%E6%96%87";const obj = querystring.parse(str);console.log(obj); // { nick: 'randy', age: '24', nick2: '中文' }

下面我们再来看看它的第二和第三个参数。其实相当于可以替换&、=为自定义字符,下面笔者举个例子就很快明白了。

const str1 = "name-randy|country-cn";const obj1 = querystring.parse(str1);console.log(obj1); // { 'name-randy|country-cn': '' }const obj2 = querystring.parse(str1, "|", "-");console.log(obj2); // { name: 'randy', country: 'cn' }

相当于把&替换成了|,把=替换成了-。笔者感觉配到这种情况应该不多。

stringify(obj, sep, eq, options)

这个方法就是上面parse的反向操作。下面咱们直接上例子

const obj3 = {  nick: "randy",  age: "24",};const str4 = querystring.stringify(obj3);console.log(str4); // nick=randy&age=24

这个方法也是支持自定义分割符的。

const obj5 = {  name: "randy",  country: "cn",};const str6 = querystring.stringify(obj5, "|", "-");console.log(str6); // name-randy|country-c

感谢各位的阅读,以上就是“Node中的url模块和querystring模块怎么使用”的内容了,经过本文的学习后,相信大家对Node中的url模块和querystring模块怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Node中的url模块和querystring模块怎么使用

本文链接: https://www.lsjlt.com/news/349896.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Node中的url模块和querystring模块怎么使用
    这篇文章主要讲解了“Node中的url模块和querystring模块怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node中的url模块和querystring模块怎么使用”吧!u...
    99+
    2023-07-05
  • 聊聊Node中的url模块和querystring模块
    url模块和querystring模块是非常重要的两个URL处理模块。在做node服务端的开发时会经常用到。url在介绍url模块之前我们先来一张图,看懂了这张图对于url这个模块你就基本上没什么问题了。我们来解释下各自的含义protoco...
    99+
    2023-05-14
    Node.js 前端 面试
  • node中http模块和url模块如何使用
    这篇“node中http模块和url模块如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这...
    99+
    2022-10-19
  • node中的path模块和fs模块怎么用
    本篇内容介绍了“node中的path模块和fs模块怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!pa...
    99+
    2022-10-19
  • Node.js中path模块,url模块,http模块怎么用
    小编给大家分享一下Node.js中path模块,url模块,http模块怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!path模块Node.js中,提供了一...
    99+
    2023-06-29
  • node中的fs模块、path模块怎么用
    本篇内容主要讲解“node中的fs模块、path模块怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“node中的fs模块、path模块怎么用”吧!fs文件系...
    99+
    2022-10-19
  • nodejs中queryString模块有什么用
    这篇文章给大家分享的是有关nodejs中queryString模块有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。无论是前端还是后端,经常出现的应用场景是URL中参数的处理。nodeJS的queryStri...
    99+
    2023-06-06
  • Node中的fs文件模块和path路径模块怎么使用
    这篇“Node中的fs文件模块和path路径模块怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Node中的fs文件模...
    99+
    2023-07-04
  • nodejs中url模块怎么使用
    这篇文章主要介绍了nodejs中url模块怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇nodejs中url模块怎么使用文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2022-10-19
  • node中的fs模块怎么使用
    本篇内容主要讲解“node中的fs模块怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“node中的fs模块怎么使用”吧! 在n...
    99+
    2022-10-19
  • Node的events模块怎么使用
    这篇文章主要介绍了Node的events模块怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Node的events模块怎么使用文章都会有所收获,下面我们一起来看看吧。在 vue 的项目中,有时我们会用到全...
    99+
    2023-07-05
  • Node.js中url模块怎么用
    这篇文章给大家分享的是有关Node.js中url模块怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。url模块URL模块主要提供对URL(Uniform Resource L...
    99+
    2022-10-19
  • Node中的Express和路由模块怎么使用
    今天小编给大家分享一下Node中的Express和路由模块怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Expres...
    99+
    2023-07-05
  • Node.js 搭建后端服务器内置模块( http+url+querystring 的使用)
    目录 前言一、创建服务器二、返回响应数据返回复杂对象数据返回html文档数据三、设置响应头和状态码四、实现路由接口创建简易路由应用五、处理URLURL格式转换URL路径拼接...
    99+
    2022-11-13
  • Node中的文件模块和核心模块是什么
    本篇内容介绍了“Node中的文件模块和核心模块是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!文件模块...
    99+
    2022-10-19
  • node.js中http模块和url模块的简单介绍
    前言 本文主要给大家介绍了关于node.js中http模块与url模块的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 一、http模块的简单介绍 node.js当中的http内...
    99+
    2022-06-04
    模块 简单 js
  • node中怎么优雅使用Socket.IO模块
    本篇内容介绍了“node中怎么优雅使用Socket.IO模块”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Socket.IO的定义Socke...
    99+
    2023-07-04
  • node的path路径模块怎么使用
    这篇文章主要介绍了node的path路径模块怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇node的path路径模块怎么使用文章都会有所收获,下面我们一起来看看吧。node的path模块前言:通过这篇文...
    99+
    2023-07-05
  • python中os模块和sys模块怎么使用
    今天小编给大家分享一下python中os模块和sys模块怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、os模块o...
    99+
    2023-07-05
  • node.js中如何使用url模块
    本篇文章为大家展示了node.js中如何使用url模块,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。引入模块var url = req...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作