您的位置:首页 > 游戏 > 游戏 > node项目-使用http模块发送get-post请求

node项目-使用http模块发送get-post请求

2024/12/23 11:53:32 来源:https://blog.csdn.net/weixin_53579656/article/details/140053439  浏览:    关键词:node项目-使用http模块发送get-post请求

前言

  • http模块是node.js提供内置模块,可以用来发送请求
  • 使用场景是本身这个node服务就是后端,调用第三方api或者其他服务使用http模块
  • http模块和axios本质上是一个东西,看自己怎么选择使用

代码实现-不能直接复制-看注释

1.请求文件代码

// 导入http模块
const http = require("http");// 注意基地址
// let base_url = "https://ceshi.com"// 基地址-去掉https://前缀 - 不去会报错
let base_url = "ceshi.com"// get-请求 - 获取
// 使用promise - 方便维护和管理
const requestget = () => {return new Promise((resolve, reject) => {// 配置项const options = {// 基地址hostname: base_url,// 默认端口-不要改port: 80,// 接口路径path: `/api/ceshi/list?参数=${"12"}&参数=${"12"}`,// 请求方式method: "get",// 请求头信息headers: {// 请求参数格式"Content-Type": "application/json; charset=utf-8",// tokenAuthorization: "",},};// 发送请求const getlist = http.request(options, (res) => {res.on("data", (data) => {// 把返回值转换成utf-8格式const list = Buffer.from(data).toString("utf8");// 输出在控制台-json格式process.stdout.write(list);// 转换数据const getlist = JSON.parse(list);// 返回成功结果resolve(getlist);});});// 错误处理getlist.on("error", (err) => {// 返回失败结果reject(err.message);});// 请求参数-写入getlist.write(postData);// 结束请求-不写请求发送不出去getlist.end();})
}// post-请求 - 分页查询
// 使用promise - 方便维护和管理
const requestpost = () => {return new Promise((resolve, reject) => {// 请求参数let postData = querystring.stringify({// 页码// 页数// 总数// 参数});// 配置项const options = {// 基地址hostname: base_url,// 默认端口-不要改port: 80,// 接口路径path: "/api/ceshi/list",// 请求方式method: "post",// 请求头信息headers: {// 请求参数格式"Content-Type": "application/json; charset=utf-8",// tokenAuthorization: "",},};// 发送请求const getpost = http.request(options, (res) => {res.on("data", (data) => {// 把返回值转换成utf-8格式const list = Buffer.from(data).toString("utf8");// 输出在控制台-json格式process.stdout.write(list);// 转换数据const getlist = JSON.parse(list);// 返回成功结果resolve(getlist);});});// 错误处理getpost.on("error", (err) => {// 返回失败结果reject(err.message);});// 请求参数-写入getpost.write(postData);// 结束请求-不写请求发送不出去getpost.end();});
};

2.调用

const { requestget,requestpost } = require("文件位置");async function getpostrequest (){// getconst res = await requestget ()console.log("get请求结果", res);// postconst ress = await requestpost ()console.log("post请求结果", ress);
}

细节:

1.注意基地址配置不要带前缀-https:// 会报错
2.port 一般不用动
3.end()方法一定要写,不然请求可能会发不出去
4.不要直接复制这么多-按照注释请求成功在改


总结:

经过这一趟流程下来相信你也对 node项目-使用http模块发送get-post请求 有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!

有什么不足的地方请大家指出谢谢 -- 風过无痕

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com