问题排查:同样的请求,Jmeter报错失败,Postman却没有问题

这是个坑啊~

准备用Jmeter做压力测试,实现把单个接口的相关参数在Postman里面调试通过,然后搬运到Jmeter上面来,先跑一次看是否通过。

诡异的事情出现了:居然不行!

仔仔细细的比对了两个工具里该请求的相关参数:

  • 是Post请求,地址没写错;
  • 请求body是form-data,参数也都一致;


    postman的body配置
jmeter的body配置
  • header所需的所有参数也都一样,并且都按照开发文档的要求填上了Content-Type: multipart/form-data


    postman的header配置
jmeter的header配置

可以说是一模一样了!

由于Jmeter的header是单独用HTTP Header Manager来管理的,因此还特意检查了它的作用域(和HTTP request平级或者是其子级,可以被使用到),也是OK的。

无意中禁用了HTTP Header Manager,然后再请求,居然这次jmeter请求成功了!

由于这个请求的header里面参数较少,只有Content-Type,所以推测是和它有关系。

检查了jmeter中,这次请求成功的request数据,发现有这么一行:Content-Type: multipart/form-data; boundary=wVDFbKOrJUSR6pzaJkPhlIWnwLcdmKHHV9,也就是说,好像自动加上了Content-Type。仔细想想,在body里面是有勾选```Use multipart/form-data``的,所以应该和这项配置有关。

所以这么说,我在header里面再写一遍反而是冗余的?于是尝试把postman里这一项也给删掉,同样也能请求成功。

那么加上它,request数据会有什么不同吗?检查后发现有这么一行:Content-Type: multipart/form-data和上面的相比缺少了boundary。虽然不知道为什么这一点点区别就会导致jmeter请求失败,总算是把问题给解决了。

个人猜测,可能不同工具对待冗余参数的处理方式不同,所以postman是可以兼容的,而jmeter不行。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文地址:https://blog.csdn.net/woaixiaoyu520/article/details/...
    Albert陈凯阅读 544评论 0 2
  • 前言最近在使用Postman调接口的过程中突然想到一个问题,如果GET请求将参数放到请求体中会怎么样,POST请求...
    飘逸解构阅读 18,895评论 2 10
  • 请求构建器 在构建器(Builder)选项卡下,请求构建器允许您快速创建任何类型的HTTP请求。HTTP请求包含四...
    千夜阅读 17,844评论 1 1
  • 勇气读书会——阅读打卡第十七天 阅读书籍:《致青年教师》 2019.1.28 《必须遵守的教育伦理》 今天是小年...
    托克托126何芳阅读 479评论 0 7
  • 天空微微泛白,黎明就这样悄悄来临,灵魂终于从懒睡中醒来,生命再一次获得了重生…… 黎明:象征新的一天,新的希望,新...
    悠然拒聊阅读 243评论 0 1