Nodejs web服务器之GET、POST请求初次体验

news2025/1/17 4:04:06

一、认识http请求

步骤

1.DNS解析域名,找到ip地址,建立TCP连接,发起http请求
2.服务器接收到http请求,进行处理,返回数据
3.客户端接收到返回的数据,处理数据(比如渲染页面)

二、nodejs处理GET请求

const http = require('http');
const server = http.createServer((req, res) => {
    res.end("Hello node");
});
server.listen(5005, () => {
    console.log('server running at port 5005');
});

浏览器上访问 http://localhost:5005/ 在这里插入图片描述
那么如何看到URL的传参呢?

const http = require('http');
const querystring = require('querystring'); //导入querystring模块
const server = http.createServer((req, res) => {
    const method = req.method; //请求方式
    const url = req.url; //url
     const path = url.split('?')[0] //路径
    console.log('mothod = ', method,',url = ',url);
    req.query = querystring.parse(url.split('?')[1]); //参数
    console.log('query = ', req.query);
    res.end(
        JSON.stringify(req.query) //显示传的参数以json串的形式
    );
});
server.listen(5005, () => {
    console.log('server running at port 5005');
});

运行node,并在浏览器上访问 http://localhost:5005/index.js?name=zs&age=25
在这里插入图片描述

三、处理POST请求

const http = require('http');
const querystring = require('querystring'); //导入querystring模块
const server = http.createServer((req, res) => {
    if (req.method === "POST") {
        let postData = '';
        //流string的方式
        req.on('data', chunk => {
            postData += chunk.toString();
         })
        req.on('end', () => { 
            console.log('postData = ', postData);
            res.end("收到,over");
        })
        console.log("post data header", req.headers);
    }
});
server.listen(5005, () => {
    console.log('server running at port 5005');
});

使用apifox发送POST请求
在这里插入图片描述
这样就可以处理客户端的POST请求了。

其他

运行node可能会遇到的问题 **** 端口被占用

注意:有时运行 node index.js 是提示端口5005被占用了
在这里插入图片描述
执行 lsof -i:5005 查看哪些进程占用了5005端口
在这里插入图片描述
执行 执行 kill 67740 杀死占用的进程即可

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

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

相关文章

新生儿睡眠抖动:温馨抚慰宝宝的安稳梦乡

引言 新生儿的睡眠过程常常伴随着轻微的抖动,对于许多父母来说,这可能会引起一些担忧。在这篇文章中,我们将探讨新生儿睡眠抖动的原因和注意事项,帮助父母更好地理解和处理宝宝的这种行为,为宝宝提供安心的睡眠环境。…

基于FPGA的HyeperRam接口设计与实现

一 HyperRAM 针对一些低功耗、低带宽应用(物联网、消费产品、汽车和工业应用等),涉及到外部存储,HyperRAM提供了更简洁的内存解决方案。 HyperRAM具有以下特性: 1、超低功耗:200MHz工作频率下读写不到50mW…

UE5数字孪生系列笔记(一)

智慧城市数字孪生系统 虚幻引擎连接数据库 将自己的mysql版本的libmysql.dll替换掉插件里面的libmysql.dll 然后将这个插件目录复制到虚幻项目目录下 然后添加这个插件即可 新建一个UMG,添加一个按钮试试,数据库是否连接 将UI添加到视口 打印是否连接…

自研在线CAD系统介绍

去年调研了已有的在线的CAD系统(悟空CAD、维杰地图、梦想控件),基本上都是按年收费,还相当的贵,基于此,就萌生了自己研发CAD系统的想法,从技术选型、框架设计、代码实现基本为都是自研实现。已经有了初步的成果。 10M…

chatGPT的耳朵!OpenAI的开源语音识别AI:Whisper !

语音识别是通用人工智能的重要一环!可以说是AI的耳朵! 它可以让机器理解人类的语音,并将其转换为文本或其他形式的输出。 语音识别的应用场景非常广泛,比如智能助理、语音搜索、语音翻译、语音输入等等。 然而,语音…

如何选择乐歌升降台,一张图带你了解全型号参数功能

在现代办公环境中,久坐已成为一种常态,而这种生活方式带来的不良影响日益凸显。乐歌办公升降电脑台应运而生,不仅是一种办公家具,更是健康办公的有力助手。让我们从多个角度深入了解这款产品的功能意义。 1. 台面层数 乐歌办公升…

mysql bug( InnoDB: Error number 22),表突然不能读取

mysql bug( InnoDB: Error number 22),表突然不能读取 bug最开始的bug:表突然不能读取关闭mysql容器,再次重启失败 解决方案不重建容器的几种可能措施重建容器重建如果懒得打命令或者忘记命令可能的run bug&#xff1a…

MATLAB中设置输出格式

目录 设置输出中行间距的格式 设置浮点数格式 使代码换行以适应窗口宽度 隐藏输出 按页查看输出 清空命令行窗口 MATLAB 同时在命令行窗口和实时编辑器中显示输出。可以使用提供的多个选项为输出显示设置格式。 设置输出中行间距的格式 默认情况下,MATLAB 会…

【Qt学习】QProgressBar的使用(进度条的实现)

文章目录 1. 介绍2. 实例2.1 按钮启动进度条2.2 更改进度条样式2.3 资源文件 1. 介绍 详细的 QProgressBar 内容可以通过 查阅Qt官方文档 ,这里进行简要的总结: QProgressBar 是Qt框架中的一个控件,用于显示进度条: QProgressBar…

huggingface.datasets使用说明

诸神缄默不语-个人CSDN博文目录 datasets包的官方GitHub项目:huggingface/datasets: 🤗 The largest hub of ready-to-use datasets for ML models with fast, easy-to-use and efficient data manipulation tools datasets包可以加载很多公开数据集&a…

免费SSL证书和付费SSL证书的区别

免费证书和付费证书区别还是比较大的,相对来说免费证书适用的环境会单一一些,一般使用免费证书的环境都是个人门户网站或者是小微企业的门户官网(无隐私信息)。 受免费证书安全等级以及安全性的限制影响,如果是为了自…

Python 语法高亮显示和格式化库之pygments使用详解

概要 在软件开发和编程领域,代码是我们的主要表达方式。因此,对于代码的可读性和可理解性至关重要。为了提高代码的可读性,代码语法高亮和格式化工具变得至关重要。在Python世界中,Pygments是一个强大的工具,它可以帮助开发人员高亮显示和格式化他们的代码。本文将深入探…

selenium4的相对定位

selenium4相对定位 Selenium 4新增了相对定位器,能帮助用户查找元素附近的其他元素。可用的相对定位器有above、below、toLeftOf、toRightOf、near。在Selenium 4中,find_element方法能够接受一个新方法withTagName,它将返回一个RelativeLoca…

【IEEE会议征稿通知】第九届信息科学、计算机技术与交通运输国际学术会议(ISCTT 2024)

【IEEE会议】第九届信息科学、计算机技术与交通运输国际学术会议(ISCTT 2024) 2024 9th International Conference on Information Science, Computer Technology and Transportation 第九届信息科学、计算机技术与交通运输国际学术会议(ISC…

七彩虹八渐变 外贸建站公司wordpress模板

进出口水果wordpress外贸模板 漂亮水果wordpress外贸模板,做水果进出品生意的外贸公司自建站官网模板。 https://www.jianzhanpress.com/?p3516 玩具wordpress外贸模板 简洁玩具wordpress外贸模板,适合做跨境电商外贸公司使用的wordpres外贸s网站主题…

JVM运行时数据区——对象的实例化内存布局与访问定位

文章目录 1、对象的实例化1.1、创建对象的方式1.2、创建对象的步骤 2、对象的内存布局3、对象的访问定位3.1、对象访问的定位方式3.2、使用句柄访问3.3、使用指针访问 4、小结 平时大家经常使用new关键字来创建对象,那么我们创建对象的时候,怎么去和运行…

前端语义化标签及实例

常用的语义化标签的以下几种&#xff1a; header、nav、article、section、aside、footer、abbr、dfn、address、del、ins、pre、meter、progress <header> 定义文章的页眉信息 <header><h1>我的网站标题</h1><nav><ul><li><a …

环保新征程:能源结构调整与臭氧污染治理|中联环保圈

新年的钟声刚刚敲响&#xff0c;全国各地的两会会议便如火如荼地展开。随着会议的密集召开&#xff0c;各地的2024年政府工作报告也相继出炉。截至2月19日&#xff0c;全国共有27个省&#xff08;自治区、直辖市&#xff09;发布了2024年政府工作报告。各地根据自身经济发展潜力…

mysql 数据库查询 查询字段用逗号隔开 关联另一个表并显示

文章目录 问题描述解决方案 问题描述 如下如所示&#xff1a; 表一&#xff1a;wechat_dynamically_config表&#xff0c;重点字段&#xff1a;wechat_object 表二&#xff1a;wechat_object表&#xff0c;重点字段&#xff1a;wxid 需求&#xff1a;根据wechat_dynamically_…

Flink StreamGraph生成过程

文章目录 概要SteramGraph 核心对象SteramGraph 生成过程 概要 在 Flink 中&#xff0c;StreamGraph 是数据流的逻辑表示&#xff0c;它描述了如何在 Flink 作业中执行数据流转换。StreamGraph 是 Flink 运行时生成执行计划的基础。 使用DataStream API开发的应用程序&#x…