在postman中使用javascript脚本生成sign签名

news2024/9/25 9:31:51

大多数线上api接口服务都需要提供签名才可以正常访问。虽然带来了安全,单有时为了快速验证接口的某个功能,就不得不编写代码,计算签名然后再请求。那么,使用postman提供的script功能,是否能实现签名计算功能吗?答案是:可以!

假设,我们有个服务,需要在请求header中传入:reqId和reqTime,以及sign三个字段,签名规则如下:

sign = md5(reqId + reqTime + KEY)
//其中KEY是调用方向业务方申请的一个值

接下来,我们就利用postman来完成这个接口api的签名和请求。

1、postman脚本功能

打开Postman,在Scripts页签下可以使用javascript编写脚本,在请求前和请求后做一些处理:

 

1.1)获取请求header和body数据:
//引入md5库
var CryptoJS = require("crypto-js");

var tm = new Date().getTime(); //当前时间戳
console.log("reqTime:" + tm);

//先移除,再写入请求header中的数据
pm.request.headers.remove("reqTime");
pm.request.headers.add({
    key: "reqTime",
    value: tm
})

//获取请求header数据
var reqId = pm.request.headers.get("reqId");
console.log("reqId:" + reqId);

//获取请求body数据
var body = JSON.parse(pm.request.body.raw);
var pmd5 = body["pmd5"];
console.log("pmd5:" + pmd5);

var sign = CryptoJS.MD5(reqId + pmd5 + "test_abc"); //返回的是一个object
console.log("sign:" + sign);

// pm.request.headers.remove("sign");
// pm.request.headers.add({
//     key: "sign",
//     value: sign+""
// })
//将sign写入到Postman的环境变量中
pm.environment.set("sign", sign + "");

1.2)打印的log在哪里查看?

在script中使用console.log(“xxx”)打印的log可以在Postman Console中查看,具体方法:

在打开的Console面板中,即可查看到相关日志信息:

2、postman中的环境变量使用

上面那段例子中可以看到,想动态设置请求header数据,可以通过先从header中移除,然后再设置的方法。接下来,我们讲解使用Postman环境变量的方式。还记得,这段代码吧:

pm.environment.set("sign", sign + "");

既然放到了Postman环境变量中,那么该如何使用呢?

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

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

相关文章

HarmonyOS开发实战( Beta5版)滑动白块问题解决最佳实践

当应用程序需要使用列表显示内容时,通常会使用ListLazyForEach组件来实现。但是列表中需要显示耗时加载的内容时,仅依靠ListLazyForEach不足以获得最优的用户体验。例如显示在线网络图片,在弱网以及快速滑动浏览的场景下,由于来不…

哪种无线可视挖耳勺最实用?五大优良黑马机型测评

无线可视挖耳勺是热度特别高的个人清洁工具,不仅能够更加清晰地观察自己耳内的状况,从而更加安全、有效地清洁耳朵,可以发挥多种多样的作用,但也存在品牌繁杂的情况,其中还有一些不专业的产品。在市面上,我…

Win11 本地部署大模型 WebUI + ComfyUI

Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 Web 用户界面(WebUI),它被设计用于完全离线操作。该项目最初被称为 Ollama WebUI,后来更名为 Open WebUI。Open WebUI 的主要目的是为本地的大语言模型(LLMs&…

一条执行24s的SQL产生7小时主备延时(案例详解)

前言 在之前的文章《一条执行24s的SQL竟产生7小时数据延时,数据库高可用做了个寂寞》中,我们描述了一个问题现象:一条在主库执行24秒的SQL语句,却导致了主从延时长达7小时。文章发布后,引发了小伙伴的热烈讨论&#x…

zabbix安装过程中仓库不可用问题解决

官网文档安装zabbix-server:Download and install Zabbix 安装zabbix-server过程中碰到如下报错: 导致原因是仓库url被qiang,创建如下仓库: 仓库文件: [centos-sclo-rh] nameCentOS-7 - SCLo rh baseurlhttps://mirr…

6 款 AI 视频全自动国产剪辑软件推荐

这两年刷抖音、B站,你是不是也常看到AI做的视频火得一塌糊涂,流量爆棚,还帮作者赚了钱?那没学过剪辑的你,想不想零成本、零门槛,也用AI软件赚点外快呢?告诉你,绝对行得通!现在AI技术牛了,网上…

顺序表

目录 1. 数据结构 2. 顺序表 1)线性表 2)顺序表分类 3、动态顺序表的实现 1. 数据结构 数据:常见的数值1、2、3、4.....、教务系统里保存的用户信息(姓名、性别、年龄、学历等 等)、网页里肉眼可以看到的信息&…

ARM体系结构及接口技术(四)LED灯实验---Makefile文件解析

文章目录 一、汇编版本二、C语言版本(一)Makefile文件1. .elf文件2. .map文件3. wildcard函数4. patsubst函数 (二)map.lds(三)start.S 一、汇编版本 # 工程名对应的变量 NAMEasm-led# 交叉编译器的前缀的…

十、软件工程基础知识(考点篇)试题

降低需求变更成本,第一想到的就是原型法,后面对于已完成开发工作的的反馈意见,已完成开发工作只有增量式的吧,先开发核心的,然后发布一版,得到用户反馈再修改并开发次核心。快速原型强调的是,先…

BP神经网络学习内容分享:数据降维

在数据分析和机器学习的领域中,数据降维是一项非常重要的技术。它旨在减少数据集中的特征数量,同时尽可能保留原始数据的重要信息。这不仅有助于减少计算复杂度和提高算法效率,还能有效避免过拟合,提升模型的泛化能力。本文将简要…

数学建模--皮尔逊相关系数、斯皮尔曼相关系数

目录 1.总体的皮尔逊相关系数 2.样本的皮尔逊相关系数 3.对于皮尔逊相关系数的认识 4.描述性统计以及corr函数 ​编辑 5.数据导入实际操作 6.引入假设性检验 6.1简单认识 6.2具体步骤 7.p值判断法 8.检验正态分布 8.1jb检验 8.2威尔克检验:针对于p值进行…

【单片机原理及应用】实验:数字秒表显示器

目录 一、实验目的 二、实验内容 三、实验步骤 四、记录与处理 五、思考 六、成果文件提取链接 一、实验目的 熟悉中断和定时/计数器工作原理,掌握定时器的C51编程与调试方法。 二、实验内容 【参照图表】 图A.6 (1)创建一个包含80C51固…

【OWOD论文】开放世界中OD代码_2_模型部分

简介 本文记录OWOD代码中的模型代码部分。数据部分可看我上一个博客【【OWOD论文】开放世界中OD代码_1_数据部分-CSDN博客】 模型代码 1 起步 在代码中找到 detectron2\engine\defaults.py DefaultTrainer类 __init__方法 根据上述 build_model 回溯到 detectron2\modeling\…

OCC笔记:Windows下OCC的编译

一、源码下载 进OCC官网下载https://dev.opencascade.org/release即可,或直接Clone它的Git库https://dev.opencascade.org/resources/git_repository,本文用的源码库版本为7.4.0(我本机安装的VS2013,我又想用到AIS_ViewCube&…

使用Blender云渲染的好处是什么?

​Blender是一款功能强大的开源3D创作软件,用于包括建模、动画、仿真、渲染、合成和视频编辑在内的多种应用。然而,Blender的渲染过程有时可能非常耗费资源,特别是处理复杂的3D场景时。作为CG行业不可或缺的一部分,云渲染通过使用…

chat2DB体验

文章目录 Chat2DB体验的印象Chat2DB是什么?流水帐数据库示例新建数据表生成测试数据查询数据特殊查询 Chat2DB 体验的印象 主页是https://chat2db-ai.com/ 因为最近物理研究需要用到很多数据,所以试用了一个号称神级AI数据库系统。 首先, …

【论文解析】基于脉动阵列的层融合注意力模型加速器结构

作者及发刊详情 刘晓航, 姜晶菲, 许金伟. 基于脉动阵列的层融合注意力模型加速器结构[J]. Computer Engineering & Science/Jisuanji Gongcheng yu Kexue, 2023, 45(5). 摘要 正文 主要工作贡献 1))提出了硬件协同控制的注意力机制矩阵分块方法 2&#xf…

数据仓库系列14:数据清洗和转换的常见方法有哪些?

数据仓库的建立不仅仅是数据的简单存储,更是对数据的深度利用。而数据清洗和转换是确保数据质量和一致性的重要环节。在这篇文章中,我们将深入探讨数据清洗和转换的常见方法,帮助你在数据仓库中更高效地处理数据。 目录 为什么数据清洗和转换…

任务通知笔记

1、任务通知简介 任务通知 用来通知任务的,任务控制块中的结构体成员变量ulNotifiedValue就是这个通知值。 任务通知与队列、信号量和时间标志组的区别 任务通知的优势及劣势 优势 效率更高:使用任务通知向任务发送事件或者数据比使用队列、事件标志…

C语言典型例题56

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 例题4.8 将范围为100~200的不能被3整除的数输出。 代码&#xff1a; //《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 //例题4.8 将范围为100~200的不能被3整除的数输出。//#include <stdio.h>…