2014-01-06 56 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)));