Node.js的url模块与querystring模块

新书速览|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.mzph.cn/web/60828.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Reinforcement Learning】强化学习下的多级反馈队列(MFQ)算法

📢本篇文章是博主强化学习(RL)领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅…

【linux】服务器加装硬盘后如何将其设置为独立硬盘使用

【linux】服务器加装硬盘后如何将其设置为独立硬盘使用 问题描述:本服务器原本使用了两个硬盘作为存储硬盘,同时对这两个硬盘设置了raid1阵列。现在内存不足要进行加载硬盘,新加载的硬盘不设置为raid1,而是将新加装的两个硬盘作为…

亚信安全与飞书达成深度合作

近日,亚信安全联合飞书举办的“走近先进”系列活动正式走进亚信。活动以“安全护航信息化 共筑数字未来路”为主题,吸引了众多数字化转型前沿企业的近百位领导参会。作为“走近先进”系列的第二场活动,本场活动更加深入挖掘了数字化转型的基础…

TMS FNC UI Pack 5.4.0 for Delphi 12

TMS FNC UI Pack是适用于 Delphi 和 C Builder 的多功能 UI 控件的综合集合,提供跨 VCL、FMX、LCL 和 TMS WEB Core 等平台的强大功能。这个统一的组件集包括基本工具,如网格、规划器、树视图、功能区和丰富的编辑器,确保兼容性和简化的开发。…

Transformer详解及衍生模型GPT|T5|LLaMa

简介 Transformer 是一种革命性的神经网络架构,首次出现在2017年的论文《Attention Is All You Need》中,由Google的研究团队提出。与传统的RNN和LSTM模型不同,Transformer完全依赖于自注意力(Self-Attention)机制来捕…

Git(一)基本使用

目录 一、使用git -v 查看安装git版本 二、使用mkdir 创建一个文件,并使用 git init 在该目录下创建一个本地仓库, 三、通过git clone命令接入线上仓库 四、使用git status查看仓库状态信息 五、利用echo写入一个文件 并使用cat进行查看 【Linux】e…

vue3 uniapp 扫普通链接或二维码打开小程序并获取携带参数

vue3 uniapp 扫普通链接或二维码打开小程序并获取携带参数 微信公众平台添加配置 微信公众平台 > 开发管理 > 开发设置 > 扫普通链接二维码打开小程序 配置链接规则需要下载校验文档给后端存入服务器中,保存配置的时候会校验一次,确定当前的配…

Vercel 设置自动部署 GitHub 项目

Vercel 设置自动部署 GitHub 项目 问题背景 最近 Vercel 调整了其部署政策,免费版用户无法继续使用自动部署功能,除非升级到 Pro 计划。但是,我们可以通过配置 Deploy Hooks 来实现同样的自动部署效果。 解决方案 通过设置 Vercel 的 Dep…

商业物联网:拥抱生产力的未来

在现代商业格局中,数据占据至高无上的地位。物联网(IoT)站在这场数字革命的前沿,将以往模糊不清的不确定因素转变为可衡量、可付诸行动的深刻见解。物联网技术为日常物品配备传感器与连接功能,使其能够实时收集并传输数…

金融租赁系统助力企业升级与风险管理的新篇章

内容概要 在当今的商业环境中,“金融租赁系统”可谓是企业成功的秘密武器。简单来说,这个系统就像一位聪明的财务顾问,帮助企业在资金和资源的运用上达到最优化。从设备采购到项目融资,它提供了一种灵活的方式,让企业…

java版CRM客户关系管理系统crm管理系统+客户+营销管理CRM平台

项目名称:CRM客户关系管理系统 功能模块及描述: 一、待办事项 今日需联系客户:显示当日需跟进的客户列表,支持查询和筛选。 分配给我的线索:管理分配给用户的线索,包括线索列表和查询功能。 分配给我的客…

【K8S问题系列 |18 】如何解决 imagePullSecrets配置正确,但docker pull仍然失败问题

如果 imagePullSecrets 配置正确,但在执行 docker pull 命令时仍然失败,可能存在以下几种原因。以下是详细的排查步骤和解决方案。 1. 检查 Docker 登录凭证 确保你使用的是与 imagePullSecrets 中相同的凭证进行 Docker 登录: 1.1 直接登录…

基于FPGA的2FSK调制-串口收发-带tb仿真文件-实际上板验证成功

基于FPGA的2FSK调制 前言一、2FSK储备知识二、代码分析1.模块分析2.波形分析 总结 前言 设计实现连续相位 2FSK 调制器,2FSK 的两个频率为:fI15KHz,f23KHz,波特率为 1500 bps,比特0映射为f 载波,比特1映射为 载波。 1&#xff09…

Android 应用测试的各种环境问题记录(Instrumentation测试)

报错记录 failed to configure packages targetSdkVersion(未解决) failed to configure com.demo.test.SettingsActivityTest.testOnCreate_withNullSavedInstanceState: Package targetSdkVersion34 > maxSdkVersion32 java.lang.IllegalArgumentE…

深度解析:Nginx模块架构与工作机制的奥秘

文章目录 前言Nginx是什么?Ngnix特点: 一、Nginx模块与工作原理1.Nginx的模块1.1 Nginx模块常规的HTTP请求和响应的流程图:1.2 Nginx的模块从结构上分为如下三类:1.3 Nginx的模块从功能上分为如下三类: 2.Nginx的进程模型2.1 Nginx进程结构2.2 nginx进程…

【R语言管理】Pycharm配置R语言及使用Anaconda管理R语言虚拟环境

目录 使用Anaconda创建R语言虚拟环境1. 安装Anaconda2. 创建R语言虚拟环境 Pycharm配置R语言1. 安装Pycharm2. R Language for IntelliJ插件 参考 使用Anaconda创建R语言虚拟环境 1. 安装Anaconda Anaconda的安装可参见另一博客-【Python环境管理工具】Anaconda安装及使用教程…

分布式kettle调度平台v6.4.0新功能介绍

介绍 Kettle(也称为Pentaho Data Integration)是一款开源的ETL(Extract, Transform, Load)工具,由Pentaho(现为Hitachi Vantara)开发和维护。它提供了一套强大的数据集成和转换功能&#xff0c…

抖音SEO矩阵系统:开发技术分享

市场环境剖析 短视频SEO矩阵系统是一种策略,旨在通过不同平台上的多个账号建立联系,整合同一品牌下的各平台粉丝流量。该系统通过遵循每个平台的规则和内容要求,输出企业和品牌形象,以矩阵形式增强粉丝基础并提升商业价值。抖音作…

基于yolov8和deepsort实现车辆检测、追踪和计数,支持视频和摄像实时检测与追踪,可用自己的数据集训练模型【pytorch框架,python源码】

更多目标检测、图像分类识别、目标检测与追踪等项目可看我主页其他文章 功能演示: yolov8deepsort实现车辆检测、追踪和计数(支持视频和摄像实时检测与追踪),可用自己的数据集训练模型【pytorch框架,python源码】_哔…

ArcGIS应用指南:ArcGIS制作局部放大地图

在地理信息系统(GIS)中,制作详细且美观的地图是一项重要的技能。地图制作不仅仅是简单地将地理数据可视化,还需要考虑地图的可读性和美观性。局部放大图是一种常见的地图设计技巧,用于展示特定区域的详细信息&#xff…