jmeter BeanShell PreProcessor + alibaba.fastjson处理各种加密参数传递

一般公司对外openapi都会采用签名校验机制处理,现在公司用的MD5方式进行加密签名校验,之前的博客写过一篇自己对各种复杂参数的处理方式,但是之前的方式遇到一些特定的参数类型的时候转换出来的加密字符串有误(java为入门级无法解决了),因此做下改进:通过阿里的alibaba.fastjson包来快速处理复杂的参数。(在此特别吐槽下CSDN上的某些下载资源,阿里的alibaba.fastjson包都是开源的,某些人确将jar包资源放到网上下载都要收取25-50的C币)

一、获取alibaba.fastjson包:

GitHub地址:https://github.com/alibaba/fastjson

看到的是原代码对吧,没关系,往下翻,你会看到:

jmeter BeanShell PreProcessor + alibaba.fastjson处理各种加密参数传递_第1张图片

没错,就是Download-->the latest JAR,你会下载到最新的alibaba.fastjsonJAR包(再次吐槽下CSDN上的某些有偿下载资源)。

alibaba.fastjson的使用:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

示例:

        Map map = new HashMap();
        map.put("AAA", "1");
        map.put("BBB", "2");
        map.put("CCC", "3");
        System.out.println("map=>"+map);
        
        //1.map转string
        String jsonString = JSON.toJSONString(map);
        System.out.println("mapToString=>"+jsonString);
        //2.map转jsonObject 
        JSONObject JSONObj = JSONObject.parseObject(JSON.toJSONString(map));
        System.out.println("mapToJSON=>"+JSONObj);
        
        //3.String转jsonObject
        String jsonString2 = "{\"AAA\":\"1\",\"CCC\":\"3\",\"BBB\":\"2\"}";
        JSONObject parseObject = JSONObject.parseObject(jsonString2);
        System.out.println("StringToJson=>"+parseObject);
        //4.String转map
        Map stringToMap =  JSONObject.parseObject(jsonString2); 
        System.out.println("StringToMap=>"+stringToMap);
        
        String str = "{\"age\":\"24\",\"name\":\"summer\"}";
        JSONObject  jsonObject = JSONObject.parseObject(str);
        //5.jsonObject转map
        Map jsonToMap =  JSONObject.parseObject(jsonObject.toJSONString()); 
        System.out.println("jsonToMap=>"+jsonToMap);
        //6.jsonObject转String
        String jsonString3 = jsonObject.toJSONString();
        System.out.println("jsonToString=>"+jsonString3);
 

二、jmeter BeanShell PreProcessor 中的使用示例:

jmeter BeanShell PreProcessor + alibaba.fastjson处理各种加密参数传递_第2张图片

jmeter BeanShell PreProcessor + alibaba.fastjson处理各种加密参数传递_第3张图片

ok,完美解决各种特定形式的参数处理

你可能感兴趣的:(jmeter实用)