You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JMeter响应体中过滤反斜杠,还原正常重定向URL?

在JMeter中还原转义的redirect_uri

方法一:JSON提取器结合字符串替换函数

  1. 在目标请求下添加JSON Extractor:

    • 引用名称:填写自定义变量名,比如rawRedirectUri
    • JSON Path表达式:$.redirect_uri
    • 匹配数字:1
      这一步会把带转义的URI提取到${rawRedirectUri}变量中,值为http:\/response.com/path。
  2. 在需要使用处理后URI的地方,使用__strReplace函数替换转义符:

    ${__strReplace(${rawRedirectUri},\/,/,)}
    

    该函数会将字符串中的\/替换为/,最终得到http://response.com/path。

方法二:正则表达式提取器直接提取

在目标请求下添加正则表达式提取器:

  • 引用名称:cleanRedirectUri
  • 正则表达式:"redirect_uri": "http:(\\/)([^"]+)"
  • 模板:http://$2$
  • 匹配数字:1
    通过正则直接匹配并重组URI,提取后${cleanRedirectUri}变量的值就是处理好的http://response.com/path。

方法三:BeanShell后置处理器处理

在目标请求下添加BeanShell PostProcessor,写入以下代码:

import org.json.JSONObject;
// 获取响应内容
String responseBody = prev.getResponseDataAsString();
// 解析JSON
JSONObject jsonObj = new JSONObject(responseBody);
// 获取带转义的URI
String rawUri = jsonObj.getString("redirect_uri");
// 替换转义符
String processedUri = rawUri.replace("\\/", "/");
// 将处理后的值存入变量
vars.put("cleanRedirectUri", processedUri);

执行后,${cleanRedirectUri}变量就会存储还原后的URI。

内容的提问来源于stack exchange,提问作者TriNguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 02:57:37