• 中文版Postman测试需要登陆才能访问的接口(基于Cookie)


    ApiPost堪称增强版的中文postman,是一个支持团队协作,并可直接生成文档的API调试、管理工具。它支持模拟POST、GET、PUT等常见请求,是后台接口开发者或前端、接口测试人员不可多得的工具 。

    下载地址:https://www.apipost.cn/download.html

    在后台在开发、调试接口时,常常会遇到需要登陆才能请求的接口。

    比如:获取登陆用户的收藏列表,此时,我们就需要模拟登陆状态进行接口调试了。如图:

    使用ApiPost测试接口时需要先登录的接口怎么办(基于Cookie)?

    今天,我们讲解利用ApiPost的环境变量,解决这种需要先登录再请求的接口依赖情况。

    ApiPost提供了2种方案:

    方案I、开启全局cookie

    2.5.8版本以后,apipost提供了开启全局cookie的功能。开启路径如下:

    使用ApiPost测试接口时需要先登录的接口怎么办(基于Cookie)?

    使用ApiPost测试接口时需要先登录的接口怎么办(基于Cookie)?

    开启后,我们请求登陆接口后,后续接口都会共享“已登陆”的状态,即共享了登陆接口返回的cookie。

    如下所示:

    第一步:请求登陆接口

    使用ApiPost测试接口时需要先登录的接口怎么办(基于Cookie)?

    第二步:访问其他接口,则都处于了登陆状态

    使用ApiPost测试接口时需要先登录的接口怎么办(基于Cookie)?

    方案II、利用环境变量,先请求登陆接口,再请求后续接口

    这种方案是针对2.5.8版本之前的版本,或者关闭了全局cookie功能的情况。

    1、先请求登陆接口:

    为了处于登陆态,需要先请求登陆接口,此举目的是为了模拟用户的登陆行为,获取需要的登陆参数(这里是Cookie)。

    使用ApiPost测试接口时需要先登录的接口怎么办(基于Cookie)?

    将登陆接口返回的PHPSESSID(这个是SessionID,PHPSESSID是针对PHP作为后端接口的SessionID变量名,其他语言的变量名可能不同)设为环境变量。

    使用ApiPost测试接口时需要先登录的接口怎么办(基于Cookie)?

    使用ApiPost测试接口时需要先登录的接口怎么办(基于Cookie)?

    2、接着返回收藏接口,点击【发送】按钮旁边的三角,选择【带Cookie】,输入 PHPSESSID={{login_var}}。

    此举是为了利用登陆接口返回的Cookie伪造请求的PHPSESSID。

    如图:

    使用ApiPost测试接口时需要先登录的接口怎么办(基于Cookie)?

    3、接下来send,就可以看到我的收藏列表了。

    使用ApiPost测试接口时需要先登录的接口怎么办(基于Cookie)?

    原理:

    利用ApiPost发送Cookie,使服务器识别已登录用户的Cookie。

  • 相关阅读:
    Asp.Net 编码和解码
    远程连接端口号改变的数据库服务器
    SqlServer:PIVOT操作
    细说Sql Server中的视图(上)(更新)
    ubuntu安装nginx和设置网站https访问
    批量修改git仓库地址脚本
    解决macOS升级之后每次使用ssh都要输入密码的问题
    hexo博客简易搭建教程
    dcoker入门,使用docker部署NodeJs应用
    腾讯云+校园扶持计划是bug还是福利
  • 原文地址:https://www.cnblogs.com/phpwechat/p/11558289.html
Copyright © 2020-2023  润新知