果冻想
认真玩技术的地方

Postman教程——细说请求

前言

在实际工作中,Postman对于我们来说就是一个API测试工具。那说到API测试工具,那就不得不说到创建请求,发送请求在Postman中是如何完成的。那这篇文章就对在Postman中如何创建请求,发送请求进行详细的,完整的总结。

创建请求

在Postman中可以通过以下三种方式创建和保存请求:

  • 通过请求构造器创建请求;
  • 通过New按钮创建请求;
  • 通过启动页面创建请求。

下面就对这三种方式进行细说。

对于通过请求构造器创建请求,请参见选图:

创建请求

对于通过New按钮创建请求,在《Postman教程——细说New按钮》这篇文章中有详细的总结,请参见这篇文章。

对于通过启动页面创建请求,这种方式同通过New按钮创建请求是一致的。

请求URL

对于每一个请求来说,请求URL是需要设置的第一件事。没有请求URL,其它的都是扯淡。

点击Params按钮打开参数编辑器,输入URL参数。我们可以单独添加键-值对,Postman会将上述查询字符串中的所有内容组合在一起。如果网址已经有参数,Postman会自动将网址分成键-值对两部分。如下图所示:

创建请求

注意:在URL栏或参数编辑器中输入的参数不会自动进行URL编码。右键单击一段选定的文本,然后选择“EncodeURIComponent”手动编码参数值。同时,如果没有指定协议,Postman会自动将http://添加到URL的开头。

请求头

单击Headers选项卡将显示请求头键-值编辑器。我们可以将任何字符串设置为请求头名称。在输入字段时,自动完成下拉菜单将补充常见HTTP请求头。 Content-Type标题的值也可从自动完成下拉菜单中选择。

请求Cookies

在Postman的Native App中,我们可以通过Cookie管理器管理每个域名对应的Cookie。如下图所示:

Cookie管理

预设请求头

我们可以将常用标题一起保存在请求头预设中。在请求头标签下,可以通过从右侧的预设下拉列表中选择“管理预设”来为给请求添加请求头预设。如下图所示:

Cookie管理

请求方法

我们都知道HTTP请求分为GET、POST、DELETE等方法;我们可以很方便的通过Postman来模拟不同的方法来发送请求。具体如下图所示:

请求方法

请求体编辑器区域将根据方法是否可以添加主体内容而发生变化。

请求体

在构建请求时,我们经常使用请求体编辑器。Postman可以发送几乎任何类型的HTTP请求。请求体编辑器分为4个区域,根据请求体类型有不同的输入UI。如下图所示:

请求体

当通过HTTP协议发送请求时,服务器可能需要一个Content-Type标头。Content-Type头让服务器正确解析请求体。对于表单数据和urlencoded请求体类型,Postman自动附加正确的Content-Type标题,因此我们不必手动设置它。当选择请求体内容格式类型时,会将请求头设置为RAW。如果我们手动使用Content-Type标头,则该值优先于Postman设置的值。Postman没有为二进制体类型设置任何请求头类型。

下面就对Postman提供的以下几种请求体类型进行详细的说明:

  • form-data
    multipart/form-data是Web表单用于传输数据的默认编码。这模拟了在网站上填写表单并提交它。表单数据编辑器允许我们为数据设置键-值对。我们也可以为文件设置一个键,文件本身作为值进行设置。

    由于HTML5规范的限制,文件不会存储在历史记录或集合中。我们需要在下次发送请求时再次选择该文件。

  • x-www-form-urlencoded
    该编码与URL参数中使用的编码相同。我们只需输入键-值对,Postman会正确编码键和值。请注意,我们无法通过此编码模式上传文件。表单数据和urlencoded之间可能存在一些差异,因此请务必首先检查API的编码实现,确定是否可以使用这种方式发送请求。

  • raw
    RAW请求可以包含任何内容。除了替换环境变量之外,Postman不触碰在编辑器中输入的字符串。无论你在编辑区输入什么内容,都会随请求一起发送到服务器。编辑器允许我们设置格式类型以及使用原始主体发送的正确请求头。我们也可以手动设置Content-Type标题,这将覆盖Postman定义的设置。

    在编辑器类型中选择XML/JSON为我们的请求主体启用语法高亮显示,并设置Content-Type标题。

  • binary
    二进制数据可让我们发送Postman中无法输入的内容,例如图像,音频或视频文件。当然了,我们也可以发送文本文件。正如前面在表单数据部分中提到的,如果通过历史记录或集合加载请求,则必须重新附加文件。

总结

好了,到此关于Postman中的请求的内容都到此总结完毕。内容比较多,但是比较简单,好理解。总结工具性的内容就有这么个好处,内容多,理解简单,记忆性的东西多,不比设计、原理性的东西那样需要更多的去理解。最后,希望我的这篇文章对你有帮助。

果冻想-一个原创技术文章分享网站。

2018年2月20日 于包头。

未经允许不得转载:果冻想 » Postman教程——细说请求
网站维护离不开您的支持,您可以赞助本站,谢谢支持
×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

赞助本站
关注微信公众号
关注微信公众号和果冻一起分享你的疑惑与心得。
分享到: 更多 (0)

评论 14

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #-49

    小编:“当选择请求体内容格式类型时,会将请求头设置为RAW。”麻烦问下,这句话怎么理解?

    101tank3个月前 (04-19)回复
    • 这个你尝试一下就会清楚了。因为当你设置请求提内容时,由于无法知道请求头的类型,所以就会设置成RAW的。

      果冻想3个月前 (04-19)回复
  2. #-48

    “因此请务必首先检查API的编码实现”这个该如何检查呢?百度了一下,也没找到答案

    101tank3个月前 (04-19)回复
    • 这个编码实现指的是你的程序的实现方式,是否有对应的解码,或者还是没有任何操作。

      果冻想3个月前 (04-19)回复
      • 有点头痛了,我是做测试的,开发这块不是很懂。程序的实现方式,或者像你说的这个是否有对应的解码,有相关的文档或者百度上怎么查呢?

        101tank3个月前 (04-24)回复
        • 这个没有相应的文档,只能阅读你们的API文档。看看是GET方式还是POST方式。

          果冻想3个月前 (04-24)回复
  3. #-47

    x-www-form-urlencoded和form-data。这两种方式都是键值形式,为什么第一种可以,第二种form-data不可以呢?

    101tank3个月前 (04-19)回复
    • x-www-form-urlencoded会进行编码的。而form-data则不会进行编码。

      果冻想3个月前 (04-19)回复
      • 那这样的话,我怎么判断在填写请求体参数的时候该选用“x-www-form-urlencoded”还是“form-data”呢?

        101tank3个月前 (04-24)回复
        • 看接口是GET还是POST,一般GET都是x-www-form-urlencoded,而对于POST,一般使用form-data。

          果冻想3个月前 (04-24)回复
  4. #-46

    我怎么可以看到,你给我的回复呢?是在这地方的评论吗?

    101tank3个月前 (04-19)回复
    • 是的,我就是在你提问的基础上进行回复的。

      果冻想3个月前 (04-19)回复
      • 看到了,多谢哦

        101tank3个月前 (04-24)回复

玩技术,我们是认真的

联系我们关于果冻