import com.xxtang2.CloudPYencry;
import com.xxtang2.DesEncryption;
String url=vars.get("url_time");
String time=CloudPYencry.getTime(url);
String input=vars.get("data");
byte[] result=input.getBytes();
byte[] result_encry=DesEncryption.encrypt(result,time);
vars.put("data",result_encry);
如上最后一行,将数据加密以后传给消息体 data,但是 vars.put() 只支持 string 类型,服务在加密处理时又限定了 post 内参数是 byte 类型,有啥好方法解决吗文章源自玩技e族-https://www.playezu.com/188677.html
文章源自玩技e族-https://www.playezu.com/188677.html文章源自玩技e族-https://www.playezu.com/188677.html
未知地区 1F
不建议用 beanshell,请坚持用 groovy,几乎等同于 java为啥不建议 原因如果在 JSR223 PreProcessor 定义的变量是 input 怎么使用这个变量呢,我在 HTTP 请求中直接使用 ${data}获取不了值vars.putObject 试试呢楼上正解, vars.putObject(String key, Object value) 可以设置非字符串类型的变量1 性能,国外专门做过性能比较,groovy->java->beanshell
2 语言的流行度: beanshell 虽说支持 java,但对 java 的支持程度完全没有 groovy 好,而且几乎已经不再更新了,groovy 还有 jenkins,gradle 等等一些框架再用,而且还在更新
3 易用性: 如果你会用 java,那么你可以说基本上就会用 groovy,groovy 只是再某些细节上针对 java 做了优化groovy 这种处理值以后传值也是通过 vars.putObject() 解决吗base64 把 byte 转成 string,然后再转回去服务的接口特殊限制哇,这边要是加密的话,这边入参是 byte 类型vars.put(“data”, new String(data));