403 jmeter中出现禁止错误,但api在postman中运行良好

jaql4c8m  于 2022-11-09  发布在  Postman
关注(0)|答案(3)|浏览(944)

我有一个在GET方法中运行的API。它在postman中运行良好,状态代码为200。但是当我尝试在jmeter中运行该API时,它抛出了403禁止错误。我已经配置了调试采样器,并尝试重新运行测试。调试采样器通过了,状态代码为200,但http请求仍然失败。
1.我试过找出两者之间的联系,但都失败了。
1.我从HTTP请求中删除了端口号,但它仍然失败。
1.我已经添加了授权管理器,输入用户名和密码仍然失败。
1.脚本中添加了HTTP cookie管理器和缓存管理器。

lf5gs5x2

lf5gs5x21#

根据HTTP Status Code 403描述
HTTP 403 Forbidden客户端错误状态响应代码表示服务器理解请求,但拒绝对其进行授权。
此状态类似于401,但在这种情况下,重新验证不会有任何区别。访问将被永久禁止,并与应用程序逻辑(如对资源的权限不足)绑定。
最有可能的情况是,在来自Postman和JMeter的请求之间存在不一致。
有2个可能的原因:

  • 您未能正确配置JMeter的HTTP请求采样器。如果您的请求在Postman中运行正常,您可以尝试使用JMeter的HTTP(S)测试脚本记录器来记录它
  • 准备JMeter进行记录。最简单的方法是JMeter Templates Feature
  • 从JMeter的主菜单中选择File -> Templates -> Recording,然后单击“Create”(创建)
  • 打开HTTP(S)测试脚本记录器并单击“开始”
  • 让 Postman 准备录音。
  • 在“设置”页面上,将代理主机设置为127.0.0.1,将端口设置为8888

  • 在Postman中执行请求
  • JMeter将捕获请求并将其存储在Recording Controller下
  • Postman使用了特定的Authorization头文件,它不能被记录和重放。查看Authorization标签页中的请求,并检查使用了哪一个,一旦你弄清楚-在JMeter中实现相同的:

hgb9j2n6

hgb9j2n62#

状态代码403表示您无权访问它,因此请确保您使用了正确的GET调用授权。

kzmpq1sx

kzmpq1sx3#

在jmeter http采样器中添加cookie管理器。

相关问题