http模块 获取http请求报文中的路径 与 查询字符串

虽然request.url已包含属性和查询字符串,但使用不便,若只需其中一个不好提取,于是用到了如下路径和字符串的单独查询方法:

一、获取路径

例如:我在启动谷歌端口时输入http://127.0.0.1:9000 后接了 "/search?keyword=111" 我想要查询到url路径为search字符串为111。方法如下:

1.导入url模块

const url=require('url');

2.创建服务对象

3.运用url.parse解析查询字符串为一个对象

const server=http.createServer((request,response)=>{response.end('url'); //end设置响应体// console.log(request.url); 
//虽然request.url已包含属性和查询字符串 /search?keyword=5&num=1 /favicon.ico  但使用不便,若只需其中一个不好提取,于是用到了如下路径和字符串的单独查询方法:// 2.使用url.parse()方法解析request.url里面的内容
//url.parse() 方法接受两个参数://参数一:要解析的URL字符串。//参数二:布尔值true/false ,表示是否要解析查询字符串为一个对象。如果为 true,则URL的查询部分(通常是?后面的部分)将被解析为一个键值对象。let res=url.parse(request.url,true); // console.log(res); //输出可以看到 路径为pathname: '/search', pathname: '/favicon.ico',  后接true,使查询字符串变成了一个对象
let pathname=res.pathname;console.log(pathname); //  /search  /favicon.ico   可以看到pathname里就是我们所要的路径
});
//启动服务
server.listen(9000,()=>{ console.log('服务已启动...');
});

二、获取查询字符串

// 1.导入url模块
const url=require('url');
// 创建服务对象:
const server=http.createServer((request,response)=>{response.end('url'); //end设置响应体let res=url.parse(request.url,true); let keyword=res.query.keyword;
//我们输出上文的 console.log(res);可以看到 查询字符串是 query: [Object: null prototype] { keyword: '5', num: '1' }的形式的,所以是.query.keywordconsole.log(keyword); //5 undefined  第一个url的keyword为5,第二个url里面没有包含keyword这个参数所以为undefined
});
server.listen(9000,()=>{ console.log('服务已启动...');
});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/286616.html

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

相关文章

几个常用的AI工具

人工智能大模型的出现对人类社会产生了深远的影响,这些影响既包括积极的方面,也包括一些潜在的挑战: 1. **提高效率**:AI大模型能够快速处理大量数据,提高工作效率,尤其在数据分析、自然语言处理等领域。 2. **辅助决…

【理解机器学习算法】之Clustering算法(Agglomerative Clustering)

聚合聚类(Agglomerative Clustering)是一种层次聚类算法,通过逐步合并或“聚集”它们来构建嵌套聚类。这种方法采用自底向上的方式构建聚类层次:它从将每个数据点作为单个聚类开始,然后迭代合并最接近的聚类对,直到所有数据点合并…

解决BladeX微服务Swagger资源未授权访问漏洞

1.问题描述 客户线上环境,第三方进行安全检测时候,反馈来一个"Spring"接口未授权访问漏洞。如图: 2.后端框架 服务平台后端采用开源框架BladeX微服务版本。BladeX 是由一个商业级项目升级优化而来的SpringCloud微服务架构,采用Java8 API重构了业务代码,完全遵…

略带个性化的B端界面,非框架生成的。

B端系统(即面向企业或机构的系统)使用框架搭建页面具有以下优势和劣势: 优势: 提高开发效率:框架提供了一套已经定义好的标准和组件,可以大大减少开发人员的工作量和开发时间。开发人员可以专注于业务逻辑…

人工智能在产业中应用

一、从人工智能说起 (一) 关联关系发现 1. 推荐匹配 在信息爆炸的时代,我们每天都面临着信息的轰炸,无数电影、歌曲、帖子、商品呈现在我们的眼前。海量内容虽然丰富多彩,但同时也让我们感到目不暇接、应接不暇。就在这时,有一…

每日一题 --- 数组中的第 K 个最大元素[力扣][Go]

数组中的第 K 个最大元素 题目:数组中的第 K 个最大元素 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1…

蓝桥杯练习题总结(二)dfs题、飞机降落、全球变暖

目录 一、飞机降落 二、全球变暖 初始化和输入 确定岛屿 DFS搜索判断岛屿是否会被淹没 计算被淹没的岛屿数量 三、军训排队 一、飞机降落 问题描述: N架飞机准备降落到某个只有一条跑道的机场。其中第 i 架飞机在 时刻到达机场上空,到达时它的剩余…

qrcode插件-生成二维码

安装 yarn add qrcodejs2 --save npm install qrcodejs2 --save 使用 <template><div><div id"qrcodeImg"></div><!-- 创建一个div&#xff0c;并设置id --></div> </template> <script> import QRCode from q…

一篇文章,告别Flutter状态管理争论,问题和解决

起因 每隔一段时间&#xff0c;都会出现一个新的状态管理框架&#xff0c;最近在YouTube上也发现了有人在推signals, 一个起源于React的状态管理框架&#xff0c;人们总是乐此不疲的发明各种好用或者为了解决特定问题而产生的方案&#xff0c;比如Bloc, 工具会推陈出新&#x…

AI基础知识扫盲

AI基础知识扫盲 AIGCLangchain--LangGraph | 新手入门RAG&#xff08;Retrieval-Augmented Generation&#xff09;检索增强生成fastGPT AIGC AIGC是一种新的人工智能技术&#xff0c;它的全称是Artificial Intelligence Generative Content&#xff0c;即人工智能生成内容。 …

关于SpringMVC返回JSON中时间对象序列化的问题

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 首先要说明一点,SpringMVC进行JSON序列化处理时,使用的工具包是Jackson…

PointNet++论文复现(一)【PontNet网络模型代码详解 - 分类部分】

PontNet网络模型代码详解 - 分类部分 专栏持续更新中!关注博主查看后续部分! 分类模型的训练: ## e.g., pointnet2_ssg without normal features python train_classification.py --model pointnet2_cls_ssg --log_dir pointnet2_cls_ssg python test_classification.py…

云电脑火爆出圈,如何选择和使用?--腾讯云、ToDesk云电脑、青椒云使用评测和攻略

前言&#xff1a; Hello大家好&#xff0c;我是Dream。在当下&#xff0c;科技的飞速发展已经深入影响着我们的日常生活&#xff0c;特别是随着物联网的兴起和5G网络的普及&#xff0c;云计算作为一个重要的技术概念也逐渐走进了我们的视野。云计算早已不再是一个陌生的名词&am…

Mysql配置autocommit实际使用(慎用)

以下内容都是基于MySQL5.7。所有操作建议在MySQL客户端执行。navicat可能会先意想不到的问题 在导入频繁执行update、insert的时候&#xff0c;可以考虑关闭MySQL的自动提交 首先查询当前的状态 1开启 0关闭 select autocommit;设置本次连接关闭自动提交(如果需要永久关闭请修…

MySQL的安装

第一步 先下载MySQL 的压缩包 官网链接: 点击跳转MySQL官网 或者直接下载我所上传的压缩包MySQL8.0.20X64 第二步 将下载的文件解压&#xff0c;我的解压位置为E:\Program Files目录&#xff0c;大家可以根据自己的需求解压到不同位置。如下图 第三步 进入到E:\Program Files…

导演、音乐家、艺术家眼中的Sora第一印象

自从2月16日Sora发布的那个夜晚以来&#xff0c;多少人都在翘首以盼&#xff0c;期待能真正的用上Sora。但是OpenAI自己也懂&#xff0c;基于模型对齐问题、安全问题、推理算力问题等等&#xff0c;这玩意短期内&#xff0c;基本不可能放出来给大众用。当然了&#xff0c;等以后…

【Linux】进程的基本概念(进程控制块,ps命令,top命令查看进程)

目录 01.进程的基本概念 程序与进程 进程的属性 02.进程控制块&#xff08;PCB&#xff09; task_struct的内容分类 组织进程 03.查看进程 ps命令 top指令 在计算机科学领域&#xff0c;进程是一项关键概念&#xff0c;它是程序执行的一个实例&#xff0c;是操作系统的…

如何保证缓存与数据库的双写一致性?

如何保证缓存与数据库的双写一致性&#xff1f; 概述同步策略更新缓存还是删除缓存&#xff1a;先操作数据库还是缓存&#xff1a;案例一、先删除缓存&#xff0c;在更新数据库案例二 先操作数据库&#xff0c;再删除缓存 延时双删策略&#xff08;不推荐&#xff09;使用分布式…

《数据安全技术 数据分类分级规则》及典型行业标准指南要点提炼

数据分类分级发布新国标 千呼万唤&#xff0c;国家标准GB/T 43697-2024《数据安全技术 数据分类分级规则》于3月21日正式发布。作为全国网络安全标准化技术委员会更名后&#xff0c;发布的第一部以“数据安全技术”命名的国家标准&#xff0c;《数据安全技术 数据分类分级规则…

K8s+Nacos实现应用的优雅上下线【生产实践】

文章目录 前言一、环境描述二、模拟请求报错三、配置优雅上下线1.修改nacos配置2.修改depolyment配置3.重新apply deployment后测试4.整体(下单)测试流程验证是否生效 四、期间遇到的问题 前言 我们在使用k8s部署应用的时候&#xff0c;虽然k8s是使用滚动升级的&#xff0c;先…