Postman:API请求与响应

请求构建器

在"Builder"选项卡下,请求构建器允许快速创建任何类型的HTTP请求。HTTP请求的4个部分是Method、URL、Headers和Body

Postman提供了方便的工具来处理上述部分

Method

使用下拉菜单,更改请求方法非常简单。请求体编辑器区域将根据方法的变化而变化。不同的请求方法的可编辑区域不同(如get方法时Body标签置灰)

URL

1、URL是用户为请求设置的第一个内容

2、单击"Params"按钮会打开数据编辑器,用户可以在数据编辑器中,输入参数(也就是完整url中的Params参数),也可以单独添加键值对

3、如果URL已经有参数了,例如:粘贴一个其他来源的URL时,Postman会自动将URL拆分为键值对,并自动添加到"Params"的数据编辑区域中

注:
1、在URL栏或数据编辑器中输入的参数不会自动进行URL编码,可以手动选中文本,单击鼠标右键,选择"EncodeURLComponent",命令进行编码

2、如果没有指定任何协议,Postman将自动添加"http//:"到URL开头

Headers

1、打开"Headers"选项卡将显示Headers键值编辑器。用户可以将任何字符串设置为开头名称。

2、在输入框中输入文字时会匹配公共HTTP Headers Key的建议(自动弹出下拉选择项,Value部分也是这样)

Body

1、下面将借助请求体编辑器来构建请求体。Postman允许用户发送几乎任何类型的HTTP请求5个区域,分别对应5种不同的请求体格式

2、当通过HTTP发送请求时,服务器可能会期望一个Content-Type头。Content-Type头允许服务器正确的解析主体对于form-data和Urlencoded的请求体类型,Postman会自动附加正确的内容类型头部,这样就不必进行设置了。但postman没有为binary类型的请求体设置任何头类型

      ⑴None:这种表示无请求体

      ⑵form-data:
         1、form-data是web表单用来传输数据的默认编码。这模拟了在网站上填写表单并提交的一个过程。
         2、表单数据编辑器允许为数据设置键值对,也可以把文件附件到一个键上

注:
1、由于HTML5规范的限制,文件不储存在历史和集合选项卡中,用户需要在下一次发送请求时再次选择该文件

2、postman不支持上传多个文件、且每个文件都有自己的Content-type内容类型


     ⑶x-www-form-urlencoded:
      1、此编码与URL参数中使用的编码相同。只需要输入键值对,Postman将正确的编码键值对
      2、不能通过这边编码模式上传文件。form-data和urlencoded之间可能会有一点混淆,所以务必先确定API到底使用哪种类型的请求体

    ⑷raw:
       1、raw类型请求体可以发送任何格式的文本数据,如Text、JSON、Javascript、XML、HTML等。一般用来发送JSON格式的请求体,可以自定义选择raw请求体内容类型
       2、在编辑器中选择文本并按"Ctrl+B"组合键可以自动美化XML或JSON的内容

    ⑸binary:
     1、binary类型请求体允许用户发送不能输入的内容,如图像、音频、视频等文件以及文本文件
     2、正如form-data中提到的:如果通过历史或集合选项卡加载请求则必须重新附加一个文件

 

Cookies

1、单击"Send"按钮右下方的"Cookie"链接,即可打开"MANAGE COOKIES"窗口,可以在这里添加、删除Domain和其对应的Cookies

2、Postman本地应用提供了一个管理cookies的模块,可以让用户编辑与每个域关联的cookies,"MANAGE COOKIES"窗口显示了一个域列表和与之相关的Cookies

创建一个Cookies

要为域添加一个新的Cookies,可以点击"Add Cookies"按钮。系统会根据HTTP状态管理标准,创建一个预先生成的Cookies字符串,用户可以在它下面的文本框中进行编辑。点击"Save"保存按钮可以将其保存到相关域的应用程序Cookies中

添加一个域

如果需要在域列表中添加一个新的域,可以在顶部的文本框中输入主机名(没有端口或http://),点击"Add"按钮就可以将其添加到域列表中,然后选择该域并为其添加Cookies


更新一个Cookies
若要更新现有的Cookies,可以选中需要更新的Cookies,点击后悔弹出一个文本框,用户就可以进行编辑更新了


API响应

1、发送完APOI请求后,如何确保API响应时正确的呢?借助Postman Response Viewer可以很方便的查看请求响应的结果

2、API响应有Body、Cookies、Headers、Test Results以及状态信息组成


Body

Body是请求响应的主体,Postman提供了三种视图来查看响应主体,分别为Pretty、Raw、Preview,其中Pretty为默认方式,Pretty视图格式化显示Json或XML响应体,以方便查看
    ⑴Pretty视图:在Pretty视图内的链接会被高亮显示,单击它可以在POstman中加载一个链接URL的GET请求。对于一大段响应数据,三单击左边的三角形,可以折叠大段响应。当选择Pretty视图查看响应结果时,还可以选择其他数据展示类型
    ⑵Raw视图:该视图是以一个大文本区域的方式显示响应主体
    ⑶Test Results:该选项卡展示该请求所有测试项的本次运行结果(测试项在请求中的Tests中添加)

注:

点击"复制"按钮可以复制响应体,点击"搜索"按钮可以弹出搜索框,可以在响应体中搜索关键字


保存响应

1、如果一个请求被保存在一个集合中,则可以保存请求对应的响应:响应返回后,点击"Save Response"按钮,输入对应请求的名称,在点击"Save EXample"按钮即可将响应保存成请求对应的示例

2、当再次请求时,为请求保存的所有响应将作为一个示例提供



同时选中多个请求

选中需要的请求时,按住"Ctrl"键可以同时选中多个请求,选中请求后用户可以进行保存、共享、记录、模拟、监视或删除请求等操作

 

API请求排错

有时API会出现不起作用的情况,或者表现出意外的情况。在出现错误的情况时Postman会显示下图

Postman控制台里面会产生错误的可能原因的详细信息,使用postman控制台后,可以大大减少排除故障的时间。在排除错误时,应该考虑以下问题

连接问题
如果postman无法连接到你的服务器,就会显示上图中的"Could not get any response"提示信息。一般检查是否连接有问题最好的办法就是在浏览器中输入地址,查看在浏览器中是否能打开

使用不正确的协议
检查正确的输入的URL使用的是HTTP协议还是HTTPS协议,确保使用的协议是正确的

错误的请求URL
如果在请求中使用了变量,请确保该变量是在全局变量或当前环境变量中定义的。否则获取不到请求变量,会引起服务器地址无效

防火墙问题
一些防火墙可能被配置成屏蔽非浏览器连接,这种情况下可以尝试关闭防火墙,在查看postman能否正常工作

代理配置问题
如果正在使用代理服务器发出的请求,请保证正确的配置了它。Poastman控制台可以提供关于代理服务器的调试信息

SSL证书的问题
当使用HTTPS连接,出现无法得到响应的情况,可以尝试在Postman设置中关闭SSL验证。如果关闭SSL校验仍然无法解决问题,服务器可能正在使用客户端SSL连接,这也可以在Postman设置中配置,使用postman控制台确保将正确的SSL证书发送到了服务器

客户端证书问题
服务器可能需要客户端证书,用户可以通过在postman设置中添加客户端证书来解决这个问题

超时设置太短
如果在postman中配置了一个非常短的超时,当请求响应的时长超过设置的超时时间是,postman就会认为未收到请求响应。因此可以尝试增加超时时长来避免该问题

无效的响应
如果服务器发送不正确的响应,如编码错误或无效的headers,postman将无法解析响应

 

日志和排错

如果API或API测试的行为未达到预期的结果,可以打开控制台查看请求日志,只要控制台是打开的,所有API活动都将被记录在这里

postman控制台记录一下信息
1、实际发出的请求,包括所有基本请求头和变量值等

2、服务器在由postman处理之前发送的精确响应

3、用于请求的代理配置和证书

4、来自测试或预请求脚本的错误日志

5、脚本中console.log()返回值

注:
在脚本中适当位置使用console.info()或console.warn()可以帮助用户提取正在执行的代码行

 

API授权、Cookies和证书

API授权

当发送请求时,通常会包括参数,以确保请求能够访问和返回所需的数据。Postman提供了授权类型,使用户可以轻松的在postman本地应用程序中处理身份验证协议

基本认证(Basic Auth)

在界面中输入用户名和密码后,点击"Preview Request"按钮即可生成授权headers

 

摘要身份验证

摘要身份认证比基本认证更加复杂,并使用当前在请求中设置的值来生成授权headers。在生成headers之前,应确保他们被正确设置。如果已经存在,postman将删除现有的headers

注:

postman还支持其他授权方式,如OAuth等,只是用得比较少,就不介绍了


证书

Postman本地应用提供了一种查看和设置每个域的SSL证书的方法,要管理客户端证书,可以在设置页面中点击"Certificates"选项卡


添加客户端证书

要添加新的客户端证书,可以单击"Add Certificate"按钮

1、在HOST字段中输入要使用该证书的请求URL的域(注意:没有协议,不需要输入HTTP或HTTPS),例如postman-echo.com

2、还可以为添加的HOST指定一个自定义端口,如果不输入,将使用默认的HTTPS端口:443

3、在CRT file字段中选择自己的客户端证书,目前postman只支持CRT格式

4、在KEY file字段中选择客户端证书密钥文件

注:
1、如果在生成客户端证书时使用了Passphrase,那么需要在Passphrase字段中提供密码,否则保持空白即可

2、添加证书后,其会显示在Certificates主页面,如果要删除证书,则可以点击其旁边的"Remove"按钮即可

3、不要为用一个域设置多个证书,如果有多个设置,则只有最后一个生效

4、证书创建后就不能再次编辑,如果要对其进行修改,则需要删除证书在创建一个符合需要的新证书


使用证书

如果添加了客户端证书,并向已配置的域发出请求,则该证书将随请求自动发送,当然,前提是通过HTTPS发出请求。我们可以通过控制台来查看自己的请求来确定是否发送成功发送了证书

 

备注:

在使用Postman构造请求提交表单时,也需要注意服务器接收的数据类型(跟Python中的requests模块一样),数据类型错误时,服务器可能不会正常解析

正确的请求

错误的请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不怕猫的耗子A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值