不知道用啥 发表于 2016-10-31 18:10:48

jmeter测试加密接口遇到的问题

在用jmeter接口自动化的时候,现在公网的接口都是加密的比如这样的
http://192.168.204.11:8010/ots/manage/sync?type=date&uid=uid_6d8a777f8b48c6fc89c06cd0b26b7b41&probeid=1006&ts=2015_12_09_12_50_33(不加密的时候)
其中的uid参数是注册接口返回的
uid参数利用beanshell后置处理器已经从登陆接口返回的加密数据解密获取出来了
然后每次利用前置处理器beanshell写的加密方法把body体进行加密
但是,现在遇到一个问题,如果在http请求阶段就有前一个接口里返回的参数,我还要进行加密处理,不知道怎么解决了????????
现在我只会这种http请求里没有前一个接口返回参数情况的
比如这种:POST http://192.168.204.11:8010/ots/manage/login?ts=2015_12_09_12_50_33
这种情况我是这样做的:
前置处理器里这样写:
import com.cmri.ots.crypt.EncryptedUtils;
import com.alibaba.fastjson.JSONObject;

JSONObject paramsObj = new JSONObject();
paramsObj.put("uid",vars.get("uid"));
paramsObj.put("probeid","1006");
paramsObj.put("hav","V_3.4.0");
paramsObj.put("licid","55251aef44aef2613dd7c29f26eb4478");
System.out.println("-----------------");
String encrypedRequestMessage = EncryptedUtils.encodeOts(paramsObj.toString());
vars.put("login_encrypedRequestMessage", encrypedRequestMessage);
System.out.println(encrypedRequestMessage);
后置处理器里这样写:
import com.cmri.ots.crypt.EncryptedUtils;
import com.alibaba.fastjson.JSONObject;

String json = prev.getResponseDataAsString().replace("\r","").replace("\n","");
String encrypedPostMessage = EncryptedUtils.decodeOts(json);
JSONObject object = JSONObject.parseObject(encrypedPostMessage);
JSONObject detail = object.getJSONObject("detail");
vars.put("authcookie", detail.getString("authcookie"));
然后body 里直接引用:${login_encrypedRequestMessage}
所以想问问大家:如果在http请求阶段就有前一个接口里返回的参数,我还要进行加密处理,要怎么处理????????

梦想家 发表于 2016-11-1 10:47:13

不知道 ,你可以去对应q群找大神
页: [1]
查看完整版本: jmeter测试加密接口遇到的问题