JMeter脚本调用Autodesk第三方接口出现403 Forbidden错误求助
解决JMeter调用Autodesk第三方接口403禁止访问问题
1. 修正X-XSRF-TOKEN的传递逻辑
- 把HTTP Cookie Manager的Cookie Policy设置为
standard,避免兼容性模式导致Cookie解析异常。 - 确保
user.properties中已添加CookieManager.save.cookies=true,且修改后重启过JMeter。 - 移除Header Manager中硬编码的旧XSRF-TOKEN值,完全使用变量
${COOKIE_XSRF-TOKEN},同时将HTTP Cookie Manager放在测试计划最顶层,保证所有请求都能共享Cookie数据。
2. 补充Autodesk接口的授权凭证
Autodesk的SSO接口依赖OAuth2的Bearer Token,403大概率是缺少该凭证:
- 检查前端调用Autodesk接口的请求头,确认是否包含
Authorization: Bearer <access_token>。 - 如果HAR文件里有这个头,转成JMX后若丢失需手动添加;若HAR里没有,说明需要在测试计划中模拟完整的SSO授权流程:
- 发送GET请求到Autodesk授权页面,获取授权码。
- 用授权码调用Token接口,提取
access_token存入变量。 - 在Autodesk接口的Header Manager中添加
Authorization: Bearer ${access_token}。
3. 修复HAR转JMX的缺失请求头
HAR转JMX可能丢失第三方接口验证需要的关键头信息:
- 检查并添加
Referer头,确保和前端请求的Referer值一致,部分Autodesk接口会验证来源合法性。 - 确认请求的
Content-Type头和前端完全匹配,比如application/json,避免因格式不匹配触发403。
4. 对比调试请求差异
用JMeter的View Results Tree查看实际发送的请求头,和浏览器开发者工具中捕获的前端请求头逐一对比:
- 重点核对Cookie、X-XSRF-TOKEN、Authorization、Referer等字段,找出缺失或不一致的内容并修正。
内容的提问来源于stack exchange,提问作者P Saranya
相关产品推荐
相关产品推荐

