Java 在JMeter中请求签名
我需要发送一个sha256十六进制请求签名以及http请求 从其他问题和答案来看,有人建议使用BeanShell预处理器,但这似乎不再有效 还有其他方法吗 这是我在BeanShell预处理器中的代码Java 在JMeter中请求签名,java,jmeter,Java,Jmeter,我需要发送一个sha256十六进制请求签名以及http请求 从其他问题和答案来看,有人建议使用BeanShell预处理器,但这似乎不再有效 还有其他方法吗 这是我在BeanShell预处理器中的代码 import org.apache.commons.codec.digest.DigestUtils; String api_key = ""; String shared_secret = ""; long timestamp = System.curre
import org.apache.commons.codec.digest.DigestUtils;
String api_key = "";
String shared_secret = "";
long timestamp = System.currentTimeMillis()/1000;
String sig = DigestUtils.md5(api_key + shared_secret + timestamp);
vars.put("sig", sig);
log.info("Signature: " + sig);
这就是错误所在
2020-07-23 10:18:55,694 ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.apache.commons.codec.digest.DigestUtils; String api_key = "35yNeSe37 . . . '' : Typed variable declaration
2020-07-23 10:18:55,694 WARN o.a.j.m.BeanShellPreProcessor: Problem in BeanShell script. org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.apache.commons.codec.digest.DigestUtils; String api_key = "35 . . . '' : Typed variable declaration
2020-07
vars.put("sig", org.apache.commons.codec.digest.DigestUtils.sha256Hex(api_key + shared_secret + timestamp))
有关JMeter中Groovy脚本的更多信息,请参阅本文
顺便说一下,有一些方法可以让你的生活更轻松:
这是因为DigestUtils返回一个字节。我们需要创建一个新字符串(DigestUtils.md5(api_key+shared_secret+timestamp));请你也研究一下下面的问题,让我知道它是否可以实现:对不起。我粘贴的代码是我以前尝试过的md5。关于使用beanshell而不是Groovy的问题,我使用了它,我发现它很有效。我将尝试Groovy解决方案。