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

    最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

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

  • 相关阅读:
    【JavaEE重点知识归纳】第7节:类和对象
    Xilinx 千兆以太网TEMAC IP核简介
    商城免费搭建之java商城 开源java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c
    【无标题】
    【JavaSE】Java方法的使用攻略
    医疗项目业务以及表设计介绍
    Ebsynth——利用图像处理和计算机视觉的视频风格转换技术
    2022杭电多校第十场题解
    HarmonyOS原生分析能力,即开即用助力精细化运营
    【Spring Cloud】教你十分钟学会Gateway~
  • 原文地址:https://blog.csdn.net/YLF123456789000/article/details/136301737