ApiPost 堪称增强版的中文 postman,是一个支持团队协作,并可直接生成文档的 API 调试、管理工具。它支持模拟 POST、GET、PUT 等常见请求,是后台接口开发者或前端、接口测试人员不可多得的工具。
下载地址:https://www.apipost.cn/downlo…
在后台在开发、调试接口时,常常会遇到需要登陆才能请求的接口。
比如:获取登陆用户的收藏列表,此时,我们就需要模拟登陆状态进行接口调试了。如图:
今天,我们讲解利用 ApiPost 的环境变量,解决这种需要先登录再请求的接口依赖情况。
ApiPost 提供了 2 种方案:
方案 I、开启全局 cookie
2.5.8 版本以后,apipost 提供了开启全局 cookie 的功能。开启路径如下:
开启后,我们请求登陆接口后,后续接口都会共享“已登陆”的状态,即共享了登陆接口返回的 cookie。
如下所示:
第一步:请求登陆接口
第二步:访问其他接口,则都处于了登陆状态
方案 II、利用环境变量,先请求登陆接口,再请求后续接口
这种方案是针对 2.5.8 版本之前的版本,或者关闭了全局 cookie 功能的情况。
1、先请求登陆接口:
为了处于登陆态,需要先请求登陆接口,此举目的是为了模拟用户的登陆行为,获取需要的登陆参数(这里是 Cookie)。
将登陆接口返回的 PHPSESSID(这个是 SessionID,PHPSESSID 是针对 PHP 作为后端接口的 SessionID 变量名,其他语言的变量名可能不同)设为环境变量。
2、携带 cookie
接着返回收藏接口,点击【发送】按钮旁边的三角,选择【带 Cookie】,输入 PHPSESSID={{login_var}}。
此举是为了利用登陆接口返回的 Cookie 伪造请求的 PHPSESSID。
如图:
3、send
接下来 send,就可以看到我的收藏列表了。
原理:利用 ApiPost 发送 Cookie,使服务器识别已登录用户的 Cookie。