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

使用JMeter对Laravel应用负载测试时登录POST请求返回419错误如何解决

JMeter测试Laravel登录返回419响应码的解决配置方案

Laravel返回419状态码的核心原因是CSRF令牌校验失败,按照以下步骤调整配置即可解决:

  • 第一步:添加HTTP Cookie管理器
    直接在测试计划对应线程组下添加HTTP Cookie管理器,保持默认配置即可。Laravel的CSRF令牌与用户session绑定,缺少Cookie管理器会导致GET请求和POST请求的session不关联,即使令牌提取正确也会校验失败。
  • 第二步:校验CSRF令牌提取逻辑
    你可以通过两种方式提取令牌,任选其一即可:
    1. 从GET登录页的响应meta标签提取,正则表达式参考:<meta name="csrf-token" content="(.+?)">,提取匹配组1的值作为令牌变量
    2. 从GET请求返回的Set-Cookie头中提取XSRF-TOKEN值,注意该值默认是URL编码的,后续使用时需要解码
      提取完成后可添加调试后置处理器,打印提取到的令牌变量值,确认没有多余字符、提取逻辑正确。
  • 第三步:调整请求头配置
    在Header Manager中添加以下两项配置:
    1. 键为X-XSRF-TOKEN,值为${__urldecode(${你提取的令牌变量名})}(如果是从meta标签提取的令牌则不需要urldecode,直接填变量名即可)
    2. 键为Content-Type,值要与手动请求保持一致,表单提交填application/x-www-form-urlencoded,JSON提交填application/json
      可选补充:添加Referer头,值为登录页的GET请求地址,避免部分站点的Referer校验拦截。
  • 第四步:对齐请求体配置
    如果你手动发起的登录请求是把令牌放在表单参数中传输,除了请求头配置外,也可以直接在POST请求的参数列表中添加_token字段,值为你提取到的令牌变量,两种传参方式满足一种即可。
  • 第五步:确认请求执行顺序
    线程组内的执行顺序必须为:GET登录页请求 → 提取令牌 → POST登录请求,两个请求必须同属一个线程组,保证Cookie和令牌的关联关系正确。

排查小技巧:可以把JMeter发出的POST请求头、请求体和开发者工具中手动请求的内容逐行对比,重点排查令牌值、Cookie字段、Content-Type是否完全一致。

内容的提问来源于stack exchange,提问作者Georgescu Rares Daniel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 10:45:03