当前位置: 首页 > article >正文

【接口测试】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请求的具体方法。

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

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


http://www.kler.cn/a/157075.html

相关文章:

  • 【工具类】RedisUtil 操作相关
  • C++:范围for
  • 【计算机视觉技术 - 人脸生成】2.GAN网络的构建和训练
  • 时序优化方法
  • unity学习5:创建一个自己的3D项目
  • tcpdump指南(1)
  • 【广州华锐视点】机械零件拆装VR仿真教学系统
  • 【EI会议征稿】第五届人工智能与机电自动化国际学术会议(AIEA 2024)
  • bad_python
  • Vue3实现一个拾色器功能
  • TimeGPT:时间序列预测模型实例
  • TDA4开发环境Docker化
  • 《系统架构设计师教程(第2版)》第2章-计算机系统基础知识-01-计算机硬件
  • Spring中通知是什么
  • Redis7--基础篇4(Redis事务)
  • CocosCreator 面试题(二十) Cocos creator 如何实现一个置灰Shader?
  • [Ubuntu 20.04] 使用Netplan配置网络静态IP
  • RH850P1X芯片学习笔记-Pin Functions
  • 智能优化算法应用:基于松鼠算法无线传感器网络(WSN)覆盖优化 - 附代码
  • 什么是Overlay网络?Overlay网络与Underlay网络有什么区别?
  • 搭建CIG容器重量级监控平台
  • C\C++ 获取最值
  • 无人机覆盖路径规划综述
  • 学习率设置(写给自己看)
  • Redis队列stream,Redis多线程详解
  • Python3+selenium自动化测试框架详解