【接口测试】POST请求提交数据的三种方式及Postman实现

1. 什么是POST请求?

POST请求是HTPP协议中一种常用的请求方法,它的使用场景是向客户端向服务器提交数据,比如登录、注册、添加等场景。另一种常用的请求方法是GET,它的使用场景是向服务器获取数据。

2. POST请求提交数据的常见编码格式

当前,POST请求提交数据的编码方式有三种:

  • application/x-www-form-urlencoded
  • multipart/form-data
  • application/json

2.1 application/x-www-form-urlencoded

这应该是最常见的POST提交数据的方式了。浏览器的原生form表单,如果不设置 enctype属性,那么最终就会默认以application/x-www-form-urlencoded方式提交数据。这种情况下请求头的Content-Type被设置成application/x-www-form-urlencoded,提交的数据按照 key1=value1&key2=value2的方式进行编码,key和value都进行了URL转码。大部分服务端语言都对这种方式有很好的支持。很多时候,我们用Ajax提交数据时,也是使用这种方式。

示例:

什么是URL编码?

是一种浏览器用来打包表单输入的格式。浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分或者分离地发给服务器。

2.2 multipart/form-data

这也是一个常见的POST数据提交的方式,表示在发送前不对数据进行编码,这种方式一般出现在通过form表单上传文件的场景中,在HTML的form标签中通过设置属性enctype=multipart/form-data来表示通过这种方式提交数据。上面提到的这两种POST数据的方式,都是浏览器原生支持的。各大服务端语言对它也有着良好的支持。

示例:

2.3 application/json

application/json 这个Content-Type作为响应头大家肯定不陌生。实际上,现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的JSON字符串。由于JSON规范的流行,除了低版本IE之外的各大浏览器都原生支持JSON.stringify,服务端语言也都有处理JSON的函数,使用JSON不会遇上什么麻烦。

示例:

3. 通过Postman实现三种请求

3.1 application/x-www-form-urlencoded的实现

选择请求方法为POST,填入URL,在Body下选择x-www-form-urlencoded,然后再填入参数和数据,如下:

3.2 multipart/form-data的实现

选择请求方法为POST,填入URL,在Body下选择form-data,然后填入参数和数据,如下:

3.3 application/json的实现

选择请求方法为POST,填入URL,在Body下选择Raw->JSON,然后填入JSON格式的数据,如下:

以上就是通过Postman实现三种不同方式提交数据的Post请求的具体方法。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
七禾页丫14 分钟前
面试记录19 软件设计师
面试·职场和发展
爱吃涮毛肚的肥肥(暂时吃不了版)1 小时前
Leetcode——181.超过经理收入的员工
算法·leetcode·职场和发展
醉颜凉1 小时前
Seal^_^【送书活动第8期】——《ChatGLM3大模型本地化部署、应用开发与微调》
人工智能·职场和发展·送书活动·chatglm3大模型
紫丁香1 小时前
pytest_自动化测试5
python·功能测试·单元测试·集成测试·pytest
百锦再1 小时前
《码农职场》(IT人求职就业手册)导读和理性书评
程序人生·求职招聘·职场发展
软件测试君1 小时前
自动化测试路线图之自动化测试完整指南
自动化测试·软件测试·测试工具·面试·职场和发展·单元测试·职场经验
中小企业实战军师刘孙亮2 小时前
农贸批发市场招商难?从卖摊位变经营赋能破局-佛山鼎策创局破局增长咨询
职场和发展·新媒体运营·创业创新·需求分析·内容运营
酉鬼女又兒3 小时前
零基础快速入门前端JavaScript 浏览器环境输入输出语句全解析:从弹框交互到控制台调试(可用于备赛蓝桥杯Web应用开发赛道)
前端·javascript·职场和发展·蓝桥杯·js
tobias.b3 小时前
计算机基础知识-计算机组成原理
考研·面试·职场和发展
半个俗人3 小时前
05postman关联-常用的数据提取方式
测试工具·jmeter·postman·js