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

JMeter 5.5请求跳转后返回401 Unauthorized问题求助

JMeter 5.5 处理URL跳转后的NTLM/Negotiate认证问题

问题分析

服务端响应返回WWW-Authenticate: NTLM和WWW-Authenticate: Negotiate,说明要求的是NTLM或Kerberos认证,而非你之前配置的BASIC_DIGEST,这是导致Authorization头未生成、返回401的核心原因。

解决方案

1. 修正HTTP Authorization管理器配置

  • Base URL:设置为URL_B的根域名(例如URL_B是https://xxx.com/login,则Base URL填https://xxx.com),确保覆盖跳转后的目标路径
  • Username:如果是域账号,需写成DOMAIN\username格式;本地账号直接填用户名
  • Password:保持原密码不变
  • Mechanism:选择NTLM(优先匹配响应中的NTLM认证要求)

2. 调整HTTP请求的重定向设置

在HTTP请求的「高级」标签页中:

  • 勾选跟随重定向(让JMeter自动处理跳转,保留会话上下文)
  • 取消勾选自动重定向(自动重定向模式下,JMeter不会将认证凭证传递到跳转后的请求)

3. 移除手动添加的Authorization请求头

手动添加的Authorization头会与JMeter自动生成的认证头冲突,导致服务端无法识别,直接删除HTTP Header管理器中手动添加的Authorization项。

4. 优化Cookie管理器配置

确保HTTP Cookie管理器:

  • 启用「清除每次迭代的cookie」(多线程/多迭代测试时避免会话混乱)
  • 保持默认的「策略」为standard,确保跳转过程中的Cookie能正确保存和传递

5. 配置JMeter的认证优先级(可选,针对域环境)

如果是Windows域环境下的NTLM认证,需修改JMeter安装目录下的bin/system.properties文件,添加以下配置:

httpclient.auth.scheme-priority=NTLM,Negotiate,Basic,Digest

修改后重启JMeter,让配置生效。

6. 验证结果

运行测试后,在查看结果树中查看URL_B的请求详情:

  • 确认请求头中出现Authorization: NTLM {编码字符串}
  • 检查响应状态码是否为200 OK

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 06:33:22