软件测试技能,JMeter压力测试教程,请求头部自动签名带上X-sign参数(二十二)

news2024/11/24 15:31:20

一、前言

接口请求 body 带有 sign 签名参数,sign 签名是根据请求 body 除去 sign 本身参数后,拼接请求参数最后 md5 加密生成的

前面一篇是把 sign 前面参数放到请求的 body 里面,这篇继续讲把签名参数放到请求头部的情况

二、实现方式

http 请求需要进行签名校验 X-Sign,放到请求头部

Content-Type: application/json; charset=UTF-8
X-Sign: 2a76a7d2ec34760afb7f4f3ff5a02ef3

body传参:{“username”: “am”, “password”: “123456”, “mail”: “”}

sign是由 请求body拼接排序后+“key” 生成的值 md5 加密而来

具体签名规则,可以参考前面这篇:https://blog.csdn.net/x2waiwai/article/details/122843324

讲下整体的思路和实现方式,在 BeanShell 预处理程序先获取请求的头部,拿到签名值后添加到请求的头部,然后发送新的请求头部

整体实现思路如下
1.先获取请求 headers 值

2.获取到签名的 sign 值(具体参考前面的,这里就不讲签名的实现了)

3.添加签名参数和对应的值到请求头部

4.发送新的请求头部

三、添加 BeanShell 预处理程序

http头部管理器,可以不用加 X-sign 参数

添加-前置处理器-BeanShell 预处理程序根据签名规则,拿到 sign 值后添加到请求头部,实现代码如下

import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.http.control.HeaderManager;
import org.apache.jmeter.protocol.http.control.Header;
import org.apache.jmeter.testelement.property.CollectionProperty;


//sampler 里面有个getHeaderManager 可以获得请求头
HeaderManager headers =sampler.getHeaderManager();

// 打印全部的头部内容
log.info(headers.getHeaders().getStringValue());

// 中间省略签名拿到的sign值,这里给固定的"aaaaaaaaaaaaaaaaaa"

// new 一个Header对象
signHeader = new Header("X-sign","aaaaaaaaaaaaaaaaaa");

// 添加 Header 到请求头管理器
headers.add(signHeader);

// 打印全部的头部内容
log.info(headers.getHeaders().getStringValue());

代码中间省略签名拿到的 sign 值

这里给固定的”aaaaaaaaaaaaaaaaaa”,签名值根据开发文档自己去实现,也可以找开发给个 jar 包

打印的日志内容可以看到添加 X-sign 前后的对比

INFO o.a.j.u.BeanShellTestElement: [Content-Type    application/json]
INFO o.a.j.u.BeanShellTestElement: [Content-Type    application/json, X-sign    aaaaaaaaaaaaaaaaaa]

 查看结果数看到请求头部已经带上了 X-sign

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

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

相关文章

3Ds Max坐标轴切换,使用物体的世界坐标和本地坐标之间切换

标题:当挪动物体的时候想使用(本地)/(世界)坐标移动 官方文档 https://help.autodesk.com/view/3DSMAX/2023/CHS/?guidGUID-0F3E2822-9296-42E5-A572-B600884B07E3官方文档 使用“参考坐标系”列表,可以…

怎么把音乐的伴奏提取出来?分享几个方法给大家!

歌曲伴奏提取是一种将歌曲中的人声去除,获得只含伴奏的音乐文件的方法。这项技术可以广泛应用于伴唱、演奏、混音等领域。以下将详细介绍四种常用的歌曲伴奏提取方法,并提供记灵在线工具的使用说明,让您能轻松进行伴奏提取。 一、使用记灵在线…

Linux下载不同版本的gcc与g++并编译,演示安装gcc11

1. 引言 系统: ubuntu 1804点我进入清华源-GCC链接: https://mirror.tuna.tsinghua.edu.cn/gnu/gcc/ 2. 下载编译指定版本gcc 2.1 下载一个低版本g 为了保证后续安装gcc能编译通过,且安装g同时也会安装gcc! sudo apt-get install g2.2 下载指定gcc…

KD06丨超级趋势线第4版大升级

大家好,今天我们来分享可达鸭策略最后一期——超级趋势线第4版,进出场自适应大升级。 从2021年开始,我开始分享超级趋势线系列策略。在最初超级趋势线主体构造不断改造,到加入过滤,到出场迭代等等,历经大版…

Vue中的el-date-picker时间选择器的使用

1、value-format属性设置需要什么格式的时间 2、type类型选择datetime、date 年月日时分秒 <el-date-pickervalue-format"yyyy-MM-dd HH:mm:ss"v-model"excelRuleForm.startTime"type"datetime":placeholder"选择开始时间"> &…

统信UOS系统开发笔记(八):在统信UOS上编译搭建mqtt基础环境(版本使用QMQTT::Client)

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/131455493 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

android实现hook其它应用代码和方法调用(无root)

上次讲过无root实现复制其它应用data内部数据&#xff0c;这次讲一下无root情况下直接访问目标应用进程&#xff0c;然后对其进行hook操作&#xff0c;这种跨进程hook的原理是通过dex注入和资源文件修改来实现的。 首先在android studio中创建一个模块&#xff0c;在模块中创建…

ROS学习笔记(实践三)--常见相机问题整理

目录 1.普通的usb摄像头使用 1.普通的usb摄像头使用 安装ros功能包 sudo apt-get install ros-kinetic-usb-cam //注意ros版本 //启动roslaunch usb_cam usb_cam-test.launch启动后弹出如下窗口&#xff1a; 需要修相机驱动时&#xff0c;可以使用源码安装&#xff0c;源码…

基于JavaWeb的网络不良信息举报平台的设计与实现

1.引言 随着互联网的快速发展&#xff0c;网络不良信息问题日益突出&#xff0c;给人们的生活和社会秩序带来了严重的困扰。网络不良信息包括色情、暴力、赌博、诈骗等不良内容&#xff0c;这些信息的传播对青少年的身心健康产生不良影响&#xff0c;也破坏了社会的良好秩序和…

在 7 月 4 日,PoseiSwap 治理通证 $POSE 上线了 BNB Chain 上的头部

在 7 月 4 日&#xff0c;PoseiSwap 治理通证 $POSE 上线了 BNB Chain 上的头部 DEX PancakeSwap&#xff08;POSE/ZBC 交易对&#xff09;&#xff0c;在 $POSE 开盘交易的 10 分钟内&#xff0c;其最高涨幅达到了 2169.22%&#xff0c;所有的早期投资者基本都从中获得了不菲的…

request请求获取参数的实现方法(post和get两种方式)

request请求获取参数的实现方法(post和get两种方式) Servlet代码&#xff1a; package request请求获取Post或者get参数; import java.io.IOException; import java.util.Arrays; import java.util.Enumeration; import java.util.Iterator; import java.util.Map; impo…

Halcon印字缺陷检测

印字缺陷检测 在半导体行业&#xff0c;印字缺陷检测占了很大比例。打印标签上字符的缺失、字符的脏污等印字不良都需要检出。基于匹配和印字区域作差的检测算法思路如下&#xff1a; #mermaid-svg-bmN5WE1wE1PqpI51 {font-family:"trebuchet ms",verdana,arial,san…

论文笔记:Traffic Flow Prediction via Spatial Temporal Graph Neural Network

WWW 2020 1 模型 图神经网络图注意力——空间依赖关系 RNNTransformer——短期&长期依赖关系 缺点&#xff1a;运用RNN于较长序列仍然会带来误差积累&#xff0c;并且RNN模型的运算效率并不高 2 实验

IDEA全版本MyBatisCodeHelper Pro免费使用教程(全部版本适用)

版本说明 系统&#xff1a;macOS&#xff08;Windows同理&#xff09;IDE&#xff1a;IntelliJ IDEA 2023.1.3 &#xff08;哪个版本都可以&#xff09;MyBatisCodeHelper Pro 3.2.1&#xff08;哪个版本都可以&#xff09; 环境准备 从插件市场下载MyBatisCodeHelper Pro 领…

FPGA实验四:交通灯控制器设计

目录 一、实验目的 二、设计要求 三、实验代码 1.design source文件代码 2.仿真文件代码 3.代码原理分析 四、实验结果及分析 1、引脚锁定 2、仿真波形及分析 3、下载测试结果及分析 五、实验心得 1.解决实验中遇见的问题及解决 2.实验完成的心得 一、实验目的 &a…

如何将TXT转换为PDF格式?两种简便方法分享!

在日常办公和学习中&#xff0c;我们常常遇到需要将文本文件转换为PDF格式的需求。TXT是一种常见的文本文件格式&#xff0c;而PDF则是一种更为通用和便捷的文档格式。本文将为大家介绍两种简单易行的方法&#xff0c;帮助您将TXT文件快速转换为PDF格式。 方法一&#xff1a;记…

无锡阿里云代理商:阿里云将免费提供50款云产品 让更多企业获益

【亿邦原创】在2023年4月11日举办的阿里云峰会上&#xff0c;阿里云智能CTO周靖人介绍&#xff0c;为了让更多中小企业获得云计算红利&#xff0c;阿里云推出新款通用算力型ECS云服务器Universal实例&#xff08;简称U实例&#xff09;。 U实例整合了多种云服务器规格&#xff…

Jmeter做单接口测试-超详细步骤讲解

测试项目&#xff1a;本章节将以此测试项目为大家讲解怎么使用jmeter做一个接口测试 CSDN - 专业开发者社区CSDN是全球知名中文IT技术交流平台,创建于1999年,包含原创博客、精品问答、职业培训、技术论坛、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区.h…

如何一键将大批量的护照图片转为excle表格?

当我们手头上有很多的护照需要识别成excel怎么办&#xff1f;手工录入效率低&#xff0c;而且容易出错&#xff0c;有没有软件可以帮忙完成这项工作&#xff1f;答案是肯定的&#xff0c;用金鸣表格文字识别大师就能将大批量的护照上的数据合并转到一个excel表上&#xff0c;下…

Python——— 元组

&#xff08;一&#xff09;初识元组tuple Python 的元组与列表类似&#xff0c;不同之处在于元组的元素不能修改。元组使用小括号&#xff0c;列表使用方括号。列表属于可变序列&#xff0c;可以任意修改列表中的元素。元组属于不可变序列&#xff0c;不能修改元组中的元素。…