Jmeter之HTTP Header(请求头)中content-type的Parameters(参数)和Body Data(消息体数据)区别
POST通过Request Body传递参数将请求整体提交给服务器,POST请求中content-type的三种数据类型:
- content-type:application/x-www-form-urlencoded
- content-type:application/json
- content-type:multipart/form-data
第一种:content-type:application/x-www-form-urlencoded
参数格式:key1=value1&key2=value2
示例图如下:
以上请求消息体数据也可设置为如下图格式(HTTP Header可不设置content-type):
⚠️注意
- 若不指定content-type,默认使用此格式
- 若使用Parameters参数格式时,可以不设置content-type类型
- 若使用Parameters参数格式时,设置content-type:application/json类型去请求,会出现报错
- 可以使用Body Data格式传Content-Type为application/x-www-from-urlencoded类型的参数,需注意格式
第二种:content-type:application/json
参数为json格式 :{"key1":"value1","key2":"value2"}
示例图如下:
⚠️注意
- Content-Type为application/json仅可使用BodyData传参,数据格式必须使用application/json去传递参数,否则报错
第三种:content-type:multipart/form-data
⚠️注意
上传文件必须使用content-type:multipart/form-data作为请求头
post结合multipart/form-data才能真正将文件内容传入请求体。