【问题标题】:How to decode URL with BeanShell?如何使用 BeanShell 解码 URL?
【发布时间】:2016-02-04 13:55:58
【问题描述】:

我需要在请求中传递一个参数(URL 的一部分),例如:

"S;4;163;1;O;rAghjgjU="

但是这个值被提取为这样的正则表达式:

"S%3B4%3B163%3B1%3BO%3BrAghjgjU%3D"

我想使用 BeanShell 来解码 URL。

【问题讨论】:

    标签: regex performance jmeter performance-testing beanshell


    【解决方案1】:
    1. JMeter 提供了__urldecode() 函数,所以如果你像这样使用它:

      ${__urldecode(S%3B4%3B163%3B1%3BO%3BrAghjgjU%3D)}
      

      您将获得所需的值。

    2. 如果您仍然想使用 Beanshell,可以调用 URLDecoder.decode(); 方法,例如:

      String decoded = URLDecoder.decode("S%3B4%3B163%3B1%3BO%3BrAghjgjU%3D", "UTF-8");
      
    3. 还有__Beanshell()函数允许执行任意Beanshell脚本,调用它像:

      ${__BeanShell(URLDecoder.decode("S%3B4%3B163%3B1%3BO%3BrAghjgjU%3D"\, "UTF-8"),)}
      

      有关 JMeter 中 Beanshell 脚本的更多信息,请参阅 How to Use BeanShell: JMeter's Favorite Built-in Component,特别注意如何从 Beanshell 脚本中调用 Java 和 JMeter API 类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      • 2013-05-26
      • 2022-06-23
      • 1970-01-01
      • 1970-01-01
      • 2014-02-06
      相关资源
      最近更新 更多