如何从请求中提取CSRF cookie并发送到HTTP请求中,而无需在JMeter中使用参数



我是JMeter的新手。我正在执行登录测试。我正在尝试提取 CSRF 令牌,但我没有得到它。我不知道如何解决它。

请求数据

正则表达式提取器

当我尝试将CSRF令牌 - "引用名称"放入HTTP请求 - "参数"时,我收到了错误。

HTTP 请求 - 参数

我被困在这里。我不知道如何放置CSRF令牌 - 没有"参数"的"引用名称"。请帮助我。

要使用 JSON 正文在 POST 请求中发送参数,您可以在 路径 字段中添加参数?签名,在您的情况下添加

?csrf=${token}

首先,您应该使用浏览器导航,分析流量并模仿它。

Chrome有一个工具可以做到这一点,或者你可以使用Fiddler。一般来说,CSRF 第一次从服务器返回为 cookie 时,然后必须同时作为 cookie 和标头返回。

有时,即使在同一个会话中,值也会发生变化。请注意这一点。

因此,您必须:

  • 插入 Cookie 管理器(在项目的顶层(
  • 从响应标头中提取值(每次更改时(
  • 在以下所有请求中将其作为标头参数插入

将 cookie 提取到 JMeter 变量中的最简单方法是使用 HTTP Cookie 管理器

  1. 将 HTTP Cookie 管理器添加到测试计划
  2. 将下一行添加到user.properties文件(位于JMeter安装的"bin"文件夹中(

    CookieManager.save.cookies=false
    
  3. 重新启动JMeter以拾取属性

当 cookie 来自服务器时,您将能够在需要时${COOKIE_csrftoken}访问它。

详细信息:HTTP Cookie 管理器高级用法 - 指南

相关内容

  • 没有找到相关文章

最新更新