Node.js的url模块与querystring模块

news/2024/11/28 5:25:28/

新书速览|Vue.js+Node.js全栈开发实战-CSDN博客

《Vue.js+Node.js全栈开发实战(第2版)(Web前端技术丛书)》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com)

4.3.1  http模块——创建HTTP服务器、客户端

要使用http模块,只需要在文件中通过require('http')引入即可。http模块是Node.js原生模块中最为亮眼的模块。传统的HTPP服务器会由Apache、Nginx、IIS之类的软件来担任,但是Node.js并不需要。Node.js的http模块本身就可以构建服务器,而且性能非常可靠。

Node.js的http模块:创建HTTP服务器、客户端示例-CSDN博客

4.3.2  url模块——url地址处理

要使用url模块,只需要在文件中通过require('url')引入即可。url模块主要用来解析URL,它提供以下3种方法:

  1. url.parse(urlStr[,parseQueryString][,slashesDenoteHost]):解析一个URL地址,返回一个url对象。
  2. url.formate(urlObj):接收一个url对象为参数,返回一个完整的URL地址。
  3. url.resolve(from, to):接收一个base url对象和一个href url对象,像浏览器那样解析,返回一个完整的URL地址。

示例代码如下:

【代码4-10】
01  const url = require('url');
02  let parseUrl = 'https://www.google.com/?q=node.js';
03  let urlObj = url.parse(parseUrl);
04  console.log(urlObj);

在命令行中输出如图4.10所示的信息,说明解析成功。

图4.10  解析URL地址

利用url.format()方法返回上述完整地址的代码如下:

【代码4-11】
01  const url = require('url');
02  let urlObj = {
03      'host': 'www.google.com',
04      'port': 80,
05      'protocol': 'https',
06      'search':'?q=node.js',
07      'query': 'q=node.js',
08      'path': '/'
09  };
10  let urlAdress = url.format(urlObj);
11  console.log(urlAdress);

运行代码后,可以在命令行看到完整的URL地址。

resolve的使用方法如下:

【代码4-12】
01  const url = require('url');
02  let urlAdress = url.resolve('https://www.google.cn', '/image');
03  console.log(urlAdress);

运行代码后,可以在命令行看到完整的URL地址https://www.google.cn/image。

4.3.3  querystring模块——查询字符串处理

要使用querystring模块,只需要在文件中通过require('querystring')引入即可。querystring模块是一个处理查询字符串的模块,这个模块的主要方法有:

  1. querystring.parse():将查询字符串反序列化为一个对象,类似JSON.parse()。
  2. querystring.stringify():将一个对象序列化为一个字符串,类似JSON.stringify()。

下面演示它们的使用方法。

将查询字符串反序列化为一个对象:

【代码4-13】
01  const querystring = require('querystring');
02  let str = 'keyWord=node.js&name=huruji';
03  let obj = querystring.parse(str);
04  console.log(obj);

将对象序列化为一个查询字符串。

【代码4-14】
01  const querystring = require('querystring');
02  let obj = {
03      keyWord: 'node.js',
04      name: 'huruji'
05  };
06  let str = querystring.stringify(obj);
07  console.log(str);


http://www.ppmy.cn/news/1550538.html

相关文章

mac 安装node提示 nvm install v14.21.3 failed可能存在问题

如果你在 macOS 上使用 nvm(Node Version Manager)安装 Node.js 版本 v14.21.3 时遇到安装失败的问题,可以按照以下步骤进行排查和解决: 1. 确认 nvm 安装是否正确 首先,确认你的 nvm 是否正确安装,并且能…

数据结构(汇总)

1.1.1 基本概念 数据:数据是信息的载体,是描述客观事物属性的字、字符及所有能输入到计算机并且被计算机程序识别和处理的符号的集合。(数据是计算机程序加工的原料) 数据元素、数据项: 数据元素是数据的基本单位&am…

Vue前端开发-slot传参

slot 又称插槽,它是在子组件中为父组件提供的一个占位符,使用来表示,通过这个占位符,父组件可以向中填充任意的内容代码,这些代码将自动替换占位符的位置,从而轻松实现在父组件中控制子组件内容的需求。 作…

R中单细胞RNA-seq数据分析教程 (2)

引言 本系列开启R中单细胞RNA-seq数据分析教程[1],持续更新,欢迎关注,转发! 导入Seurat包 首先,请确认你的R软件已经安装了Seurat这个包。 library(Seurat) 这会将您已安装的Seurat包载入您当前的R环境中。通常不会出现…

Android 项目引入gradle Connect timed out

Could not install Gradle distribution from https://services.gradle.org/distributions/gradle-6.7.1-all.zip. Reason: java.net.SocketTimeoutException: Connect timed out 通过离线下载对应版本的gradle Index of /gradle/ 打开配置文件:gradle/wrapper…

自主研发,基于PHP+ vue2+element+ laravel8+ mysql5.7+ vscode开发的不良事件管理系统源码,不良事件管理系统源码

不良事件上报系统源码,不良事件管理系统源码,PHP源码 不良事件上报系统通过 “事前的人员知识培训管理和制度落地促进”、“事中的事件上报和跟进处理”、 以及 “事后的原因分析和工作持续优化”,结合预存上百套已正在使用的模板&#xff0…

HTML常用表格与标签

一、table表格标签&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <!--有大小为1的边框--> <table border"1">…

2686694 - 操作方法:MSEG - DBSQL_REDIRECT_INCONSISTENCY

2686694 - 操作方法&#xff1a;MSEG - DBSQL_REDIRECT_INCONSISTENCY SAP Note, Version: 4, 审批日期: 24.04.2023 显示更改 组件MM-IM-GF对象状态 优先级建议/附加信息对象状态 类别咨询对象状态 审批状态已发布至客户对象状态 更正0对象状态 手动活动0对象状态已成…