scala - 如何从 http 响应中保存标头
问题描述
我正在尝试构建一个用户首先登录的场景,然后在注销之前做一些事情。问题是我想保存登录请求中的标头响应,以便在下一个请求中使用它。
当用户登录时,他会收到一个包含 Authorization 标头和令牌的标头响应。
这是我的代码,但它不起作用:
val LoggingTest = scenario("Basic Scenario")
.exec(http("Logging")
.post("/login")
.body(
StringBody("""{"name" : "test",
"password" : "test"}""")
)
.check(header("Authorization").saveAs("token"),status.is(200))
).pause(15)
.exec(http("check")
.get("/sayhi")
.header("Authorization",s"${token}")
.check(status.is(200))
).pause(15)
请问我该如何解决?
解决方案
您可以这样做:
import io.gatling.core.Predef._
import io.gatling.http.Predef._
val LoggingTest: ScenarioBuilder = scenario("Basic Scenario")
.exec(http("Logging")
.post("/login")
.body(
StringBody("""{"name" : "test",
"password" : "test"}""")
)
.check(header("Authorization").saveAs("token"),status.is(200))
).pause(15)
.exec(
http("check")
.get("/sayhi")
.header("Authorization", session => session("token").validate[String])
.check(status.is(200))
).pause(15)
推荐阅读
- matlab - 如何在MATLAB中求解变量的方程
- ios - 滑动单元格时如何隐藏其他滑动单元格操作
- git - 致命:./config 中“receive.denycurrentbranch”的错误配置值
- reactjs - 如何存储输入文本值并在不同组件 Mobx 中使用?
- javascript - 从 Material-UI 实现一个压延机,在我的一个组件中使用 Hooks
- powerapps - 如何从 Microsoft PowerApp 打印条形码
- css - Symfony 4 - 无法在某些页面上加载我的 CSS
- angular - 从项目基目录复制单个文件作为资产
- eigen - 在 Eigen 中组装块稀疏矩阵
- c++ - Qt UTF-8 文件到 std::string 添加额外字符