【发布时间】:2021-12-12 22:40:37
【问题描述】:
我正在尝试使用 BeanSheel PostProcessor 解码 JMeter 中的 base 64 格式字符串,并从字符串中提取 nameid,我将在发送另一个请求时进一步使用它(nameid)。
我尝试了以下代码,但它不起作用。
import org.apache.commons.codec.binary.Base64;
String decoded_response = new String(Base64.decodeBase64(data));
String memberId = decoded_response.nameid;
log.info("memberid", memberId)
它给我的错误是:
ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.apache.commons.codec.binary.Base64; String decoded_response = new St . . . '' : Typed variable declaration : Cannot access field: nameid, on object: iDzÏí¢G§{"typ":"JWT","alg":"HS256"}{"nameid":"1862","unique_name":"user1@mywebsite.com","iss":"http://mywebsite-app.azurewebsites.net/","aud":"414e1927a3884f68abc79f7283837fd1","exp":1635435731,"nbf":1635349331}$S‘vC‡öRé™v„2xÉr}ïK…u®KŸäpÏÆ¯-¢G§þÜ©y·šêÞÆ˜«zÏâŸÎ·÷Ö¬rXžžßâvx
基本上在这里,我想解码令牌并获取一些 id 字段以用于进一步的请求。这样做的好方法是什么?是否有任何替代方法可以将 nameid 存储在另一个变量中并在另一个请求中进一步使用它?
【问题讨论】: