Jmeter之HTTP Header(请求头)中content-type的Parameters(参数)和Body Data(消息体数据)区别

POST通过Request Body传递参数将请求整体提交给服务器,POST请求中content-type的三种数据类型:

  1. content-type:application/x-www-form-urlencoded
  2. content-type:application/json
  3. content-type:multipart/form-data

第一种:content-type:application/x-www-form-urlencoded

参数格式:key1=value1&key2=value2
示例图如下:
2020-12-28T12:14:13.png

2020-12-28T12:17:06.png

2020-12-28T12:23:06.png
以上请求消息体数据也可设置为如下图格式(HTTP Header可不设置content-type):
2020-12-28T12:25:22.png
⚠️注意

  • 若不指定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"}
示例图如下:
2020-12-28T12:33:54.png

2020-12-28T12:36:49.png
⚠️注意

  • Content-Type为application/json仅可使用BodyData传参,数据格式必须使用application/json去传递参数,否则报错

第三种:content-type:multipart/form-data

⚠️注意
上传文件必须使用content-type:multipart/form-data作为请求头
post结合multipart/form-data才能真正将文件内容传入请求体。

本文链接:

http://wanyor.com/2020/12/28/189.html