jmeter获取请求body进行加密增加header属性

1、由于对接口请求进行加密,填写的body的json格式不要待格式,格式里面会有空格啥的,接口请求中headers中的新增的属性是把body转为jsonStr进行MD5加密

 

 

 

 

2、在beanshell的前置处理器中,每次都新增了x-header-signature属性,如果是多线程执行,这样会道痴,接口请求中有多个x-header-signature值,增加如下代码删除headers属性中

// 先删除 x-header-signature,不然对于多线程,每次new一个header("x-header-signature"),会有多个值产生
sampler.getHeaderManager().removeHeaderNamed("x-header-signature");

 

 

 

 

 

import org.apache.jmeter.config.Argument;
import org.apache.jmeter.config.Arguments;
import com.alibaba.fastjson.*;
import com.alibaba.fastjson.JSONObject;

/*-----------取http请求中的body值---------------*/

//创建一个map存储数据
String body=null;

//获取参数
Arguments args = sampler.getArguments();

//开始遍历
it = args.iterator();

while(it.hasNext()){

argument = it.next();


String pair = argument.toString();
//log.info("----1"+pair);

if(pair.startsWith("=")){
body = pair.substring(1);
}
}

// log.info("====获取到body====");

JSONObject json=JSON.parse(body);

// log.info("解析成功===="+ json);

// log.info("---------_data-----------:"+json.toString());

//vars.put("m_data",json.toString());

vars.put("m_data",JSON.toJSONString(json));

//log.info("解析成功==的string=="+ vars.get("m_data"));

 

//对字符串进行加密
import org.apache.commons.codec.digest.DigestUtils;

String password = vars.get("m_data");
//String password = vars.get("password");
String pwd=DigestUtils.md5Hex(password).toUpperCase( );//将密码加密且转换为大写
vars.put("pwd",pwd);
log.info("md5加密之后的string=="+ vars.get("pwd"));


import org.apache.jmeter.protocol.http.control.HeaderManager;
import org.apache.jmeter.protocol.http.control.Header;

// 先删除 x-header-signature,不然对于多线程,每次new一个header("x-header-signature"),会有多个值产生
sampler.getHeaderManager().removeHeaderNamed("x-header-signature");


// 获得请求头信息
HeaderManager headers = sampler.getHeaderManager();
// 打印全部请求头信息
log.info("添加前" + headers.getHeaders().getStringValue());
// new一个Header对象
myHeader = new Header("x-header-signature", pwd);
// 添加Header到请求头管理器
headers.add(myHeader);
// 打印全部请求头信息
log.info("添加后" + headers.getHeaders().getStringValue());

posted @ 2023-03-15 16:25  小晓风  阅读(172)  评论(0编辑  收藏  举报