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

如何在Gatling/Scala中移除Token中的<br/>标签

在Gatling中清理含HTML换行标签的Token

没问题,我来帮你搞定这个Token清理的问题!在Gatling里有两种实用的实现方式,具体选哪种取决于你是否需要复用清理后的Token:

方法一:通过.exec()处理后存入Session(推荐复用场景)

这种方式会把清理后的Token保存到Gatling的Session中,后续所有请求都可以直接引用,非常适合需要多次使用Token的场景:

// 第一步:提取原始带标签的Token
.exec(http("Fetch Raw Token")
  .get("/your-token-api-endpoint")
  .check(regex("""your-regex-pattern-to-capture-token""").saveAs("rawToken"))
)
// 第二步:清理Token并保存到Session
.exec(session => {
  // 从Session中取出原始Token
  val rawToken = session("rawToken").as[String]
  // 移除所有<br/>标签,合并为单个字符串
  val cleanedToken = rawToken.replace("<br/>", "")
  // 将清理后的Token存入Session,键名为cleanToken
  session.set("cleanToken", cleanedToken)
})
// 第三步:在后续请求中直接引用清理后的Token
.exec(http("Use Clean Token")
  .post("/your-protected-endpoint")
  .header("Authorization", "Bearer ${cleanToken}")
  .body(StringBody("""{"token": "${cleanToken}"}"""))
)

方法二:直接在请求中处理(适合单次使用场景)

如果这个清理后的Token只需要在某一个请求中使用,你可以直接在请求的参数/头信息里实时处理,不用额外存入Session:

.exec(http("Fetch Raw Token")
  .get("/your-token-api-endpoint")
  .check(regex("""your-regex-pattern-to-capture-token""").saveAs("rawToken"))
)
.exec(http("Use Clean Token Directly")
  .post("/your-protected-endpoint")
  .header("Authorization", session => {
    val rawToken = session("rawToken").as[String]
    // 实时清理并拼接成授权头
    s"Bearer ${rawToken.replace("<br/>", "")}"
  })
)

小提示

  • 如果你的Token里可能存在<br/>的其他变体(比如大小写、缺少斜杠等),可以用replaceAll结合正则来匹配:rawToken.replaceAll("(?i)&lt;br/?&gt;", "")
  • 记得先验证你的正则表达式确实完整捕获了带标签的Token,可以通过Gatling的日志查看rawToken的内容是否正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:17:40