一、HTTP请求Content-Type

常见的媒体格式类型如下:

text/html : HTML格式

text/plain :纯文本格式

text/xml : XML格式

image/gif :gif图片格式

image/jpeg :jpg图片格式

image/png:png图片格式

以application开头的媒体格式类型:

application/xhtml+xml :XHTML格式

application/xml: XML数据格式

application/atom+xml :Atom XML聚合格式

application/json: JSON数据格式

application/pdf:pdf格式

application/msword : Word文档格式

application/octet-stream : 二进制流数据(如常见的文件下载)

application/x-www-form-urlencoded :

中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)

另外一种常见的媒体格式是上传文件之时使用的:

multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式

二、几种常见的Content-Type类型

1、application/x-www-form-urlencoded

常用于原生的 form 表单提交,如果不指定content-type,默认使用此格式提交数据。

参数格式:key1=value1&key2=value2

2、content-type:multipart/form-data

另一个常见的 POST 数据提交的方式, Form 表单的 enctype 设置为multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符(这就是boundary的作用)分开。

由于这种方式将数据有很多部分,它既可以上传键值对,也可以上传文件,甚至多个文件。当上传的字段是文件时,会有Content-Type来说明文件类型;Content-disposition,用来说明字段的一些信息。每部分都是以分隔符开始,紧接着是内容描述信息,然后是回车,最后是字段具体内容(字段、文本或二进制等)。如果传输的是文件,还要包含文件名和文件类型信息。消息主体最后以 分隔符标示结束。

常用于文件传输

发送的请求示例:

3、application/json

以Json格式编码数据体,方便传输结构化数据(相比键值对),广泛用于 ajax 请求

参数为json格式

{

"key1":"value1",

"key2":"value2"

}

4、text/xml

以xml格式编码数据体,是早期广泛使用的格式

三、不同的content-type在jmeter中如何输入参数

1、application/x-www-form-urlencoded

参数可以在Parameters或Body Data里输入,格式不同。这两个参数输入的tab页只能使用一个,某一个有数据后不能切换到另一个。

示例如下

Parameters:

Body Data:

2、 content-type:application/json

(1)http请求头管理里面设置content-type为application/json

(2)在http请求,Body Data中输入json格式的参数

3、content-type:multipart/form-data

multipart/form-data主要用于post请求体中需要上传文件的场景。网上很多帖子告诉大家怎么传文件,却忽略了当post请求体中既需要上传文件,又需要传一般的json格式参数这种场景,下面就以常用的三种接口测试方法介绍multipart/form-data格式请求的发送,希望可以减少大家将会踩到的坑(工具里的一些设置原理没有搞得太清楚,但是以下的实现方式亲测有效):

(1)填写protocal、host、port、method、url、encoding等;

(2)勾选Use multipart/form-data for POST;

(3)parameter中填写请求中除文件外的普通json格式参数;

(4)在Files Upload中填写需要上传的文件路径、参数名、MIME Type(multipart/form-data);如果这里没有需要上传的文件,也可以不填,只发送parameters中的参数,前提是后端接口认为这个参数不是必传参数;

(5)http头信息中输入cookie等信息,这里千万不要输入content-type为multipart/form-data,在请求那里已经勾选了Use multipart/form-data for POST(注:如果头信息这里输入了content-type为multipart/form-data,那么所有的参数都会被当成文件以二进制形式传输,我们parameter里的文本格式参数就不会被识别,接口会提示那些参数为空,这点绝对是万年坑);

(6)接下来我们观察下我们发送出的请求具体内容:

第1处:有些同学会有疑问说那文件格式的上传是以二进制形式的,multipart/form-data格式的参数的分隔符boundary呢,jmeter会自动生成;

第2处:可以看到tmp.py这个文件名和前面的name是这个文件在当前接口中的参数名;

第3处:说明该文件content-type为multipart/form-data;

第4处:实际的文件内容在这里不会展示;

可以看到我们在parameter中输入的非文件类型参数的content-type为text/plain;

jmeter xml 请求_Jmeter学习笔记(十六)——HTTP请求之content-type相关推荐

  1. 电脑安装python3.74_python3.4学习笔记(十六) windows下面安装easy_install和pip教程

    python3.4学习笔记(十六) windows下面安装easy_install和pip教程 easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安 ...

  2. Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发

    Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发 Polyworks支持C#二次开发,用对应的SDK文档试着做一下开发样例. 新建一个C#项目,在解决方案中右键添加引用 ...

  3. Mr.J-- jQuery学习笔记(十六)--展开和收起动画折叠菜单的实现

    之前写过动画的隐藏与显示:Mr.J-- jQuery学习笔记(十四)--动画显示隐藏 动画隐藏与显示的一个小demo--对联广告:Mr.J-- jQuery学习笔记(十五)--实现页面的对联广告 与动 ...

  4. C语言结构体变量和结构体数组-学习笔记(十六)

    一.结构体变量 1.结构体概念 将不同类型的数据组合成一个有机的整体即为结构体.结构体由许多组织在一起的数据项组成,这些数据项不需要属于同一类型. 2.结构体类型及结构体变量定义 (1)结构体类型声明 ...

  5. Sharepoint学习笔记—ECM系列—找不到Content Type Publishing链接

    在调试Sharepoint2010内容管理部分时进入到某网站集的管理界面,发现找不到Content Type Publishing链接.于是就有了下面的知识点 并不是所有的Site Template都 ...

  6. Jenkins deploy to container部署war到tomcat(学习笔记十六)

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. *如有错误,请指正 * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horiz ...

  7. 【theano-windows】学习笔记十六——深度信念网络DBN

    前言 前面学习了受限玻尔兹曼机(RBM)的理论和搭建方法, 如果稍微了解过的人, 肯定知道利用RBM可以堆叠构成深度信念网络(deep belief network, DBN)和深度玻尔兹曼机(dee ...

  8. MonoRail学习笔记十六:AJax在MonoRail中的使用

    AJax几乎成了web2.0的一个代表,Java和Asp.net中都提供了一些AJax操作的控件.在MonoRail中也同样提供了AJax操作的共通类:AJaxHelper AJaxHelper可以指 ...

  9. JavaScript权威设计--CSS(简要学习笔记十六)

    1.Document的一些特殊属性 document.lastModified document.URL document.title document.referrer document.domai ...

最新文章

  1. Schema约束模式实例
  2. 20210709未来智能实验室收录资料
  3. 图灵YYDS!60年前不被看好的理论再次被证,这次是原子层面的
  4. uva 10453 - Make Palindrome(dp)
  5. Python高级特性(一)
  6. javascript瀑布流效果
  7. 装修月记第一弹,硬装篇
  8. python是什么课程-请问自学 Python 有必要买课程吗?
  9. Linux生成ascii文件,linux下ASCII转HEX的实现
  10. 带圈数字字体1-100
  11. 【算法工程师面试题40】基于逻辑回归算法实现电影推荐
  12. 树枝学术 | 图书查找、论文查找全攻略
  13. c++/c/java数据结构--队列
  14. 使用echart画出渐变色饼图(圆环图环形渐变)
  15. java面向对象编程思想的理解
  16. 陕西临潼姜寨遗址(蛙的演化)
  17. python医药数据_采集万方医药方向的期刊+文章+作者信息(数据量千万级)
  18. 帮我写一段能实时获取经纬度和具体地区的python代码
  19. c语言按键控制的步进电机程序,独立按键控制步进电机运转c语言程序
  20. 计算机打开虚拟机,电脑就蓝屏

热门文章

  1. 硬货 - 技术人也能轻松玩转公众号?正确姿势竟然是...
  2. SiteServer CMS 新版本 V6.11(2019年7月1日发布)
  3. 站点部署,IIS配置优化指南
  4. [NewLife.XCode]实体工厂(拦截处理实体操作)
  5. 一份来自28岁.NET老程序员的自白
  6. Feature Flag 功能发布控制
  7. Microsoft Tech Summit 2018 课程简述:利用 Windows 新特性开发出更好的手绘视频应用...
  8. 开源纯C#工控网关+组态软件(四)上下位机通讯原理
  9. 大新闻!Magic Leap造假,HoloLens即将入华商用
  10. 利用记事本创建一个ASP.NET Core RC2 MVC应用