需求:将接口请求内容进行md5加密后,得到签名,放在http header;再进行http请求
分析:签名后得到的内容是请求头中的一个参数,所以需要在http请求前处理;这里需要用到bean shell 预处理程序
1、获取请求参数的body
2、将body进行md5加密后得到sign
3、将sign放入http header
4、运行http请求
这个签名是为了防止他人修改报文内容,而进行的加密
因为每个接口都有这样的签名,所以在线程组下添加前置处理程序
1、获取请求参数
import org.apache.jmeter.config.*;
Arguments args = sampler.getArguments(); // 截获请求
Argument arg_body = args.getArgument(0); // 获取请求body
String body = arg_body.getValue(); // 获取body的值保存成字符串
log.info("线程组的body:"+body); // 打印日志
2、将body进行md5加密后得到sign
import org.apache.jmeter.config.*;
import org.apache.commons.codec.digest.DigestUtils; //用于md5加密
---省略---
String sign = DigestUtils.md5Hex(body);//md5加密
log.info("sign:"+sign);
3、将sign放入http header
import org.apache.jmeter.config.*;
import org.apache.commons.codec