2014-01-06 83 views
0

有谁知道解决方案来解码JMeter中的基本64格式字符串?如何在jmeter中解码base 64格式?

我要解码的回应,但我不想推倒重来......

我一定由我自己写的代码(希望没有)?

感谢

+0

这很好。你这样做有问题吗?如果不是那么一切都好。 AFAIK,它是非常好的和流行的开源库。如果你喜欢Python,你可以使用Python的手段http://stackoverflow.com/questions/8908287/base64-encoding-in-python-3 – olyv

+0

我宁愿使用Python,但是,AFAIK,没有Jmeter插件。 – luistm

+0

不完全是Python,而是Jython。 http://jmeter.512774.n5.nabble.com/Using-Python-or-Ruby-from-Jmeter-td5716088.html和http://www.jython.org/jythonbook/en/1.0/index.html – olyv

回答

1

我目前的解决办法是:

import org.apache.commons.codec.binary.Base64; 

log.info("Decoding base64 format"); 

String response = "b3JpZ2luYWwgU3RyaW5nIGJlZm9yZSBiYXNlNjQgZW5jb2RpbmcgaW4gSmF2YQ=="; 
byte[] decoded_response = Base64.decodeBase64(response); 
log.info(new String(decoded_response)); 

这是基于由http://javarevisited.blogspot.pt/2012/02/how-to-encode-decode-string-in-java.html提供的解决方案。

编辑:检查德米特里解决方案的更多细节。

谢谢

3

您的解决方案是相当不错的。但是你可以使用BeanShell的后置处理程序,并参考之前的采样响应数据data(见JMeter Pre-defined Beanshell variables部分)

import org.apache.commons.codec.binary.Base64; 

vars.put("decoded_response", new String(Base64.decodeBase64(data)));