网站首页 > 知识剖析 正文
请求一个需要登录才能访问的接口(基于COOKIE)
在后台在开发、调试接口时,常常会遇到需要登陆才能请求的接口。
比如:获取登陆用户的收藏列表,此时,我们就需要模拟登陆状态进行接口调试了。如图:
今天,我们讲解利用ApiPost的环境变量,解决这种需要先登录再请求的接口依赖情况。
ApiPost提供了2种方案:
方案I、开启全局cookie
apipost提供了开启全局cookie的功能。开启路径如下:
右下角Cookie管理器-打开全局Cookie按钮
开启后,我们请求登陆接口后,后续接口都会共享“已登陆”的状态,即共享了登陆接口返回的cookie。
如下所示:
第一步:请求登陆接口
第二步:访问其他接口,则都处于了登陆状态
方案II、利用环境变量,先请求登陆接口,再请求后续接口
这种方案是针对关闭了全局cookie功能的情况。
1、请求登陆接口,将响应COOKIE赋值给变量:
为了处于登陆态,需要先请求登陆接口,此举目的是为了模拟用户的登陆行为,获取需要的登陆参数(这里是Cookie)。
将登陆接口返回的PHPSESSID(这个是SessionID,PHPSESSID是针对PHP作为后端接口的SessionID变量名,其他语言的变量名可能不同)设为环境变量。
apt.variables.set("login_var", response.cookies["PHPSESSID"]);
注:更多响应结果绑定变量可以参考 “响应以及断言”一节和“后执行脚本” 一节。
2、调用变量,手动给header添加Cookie参数
接着返回收藏接口,进到header选项,参数值选择cookie,参数值输入: PHPSESSID={{login_var}}。
此举是为了利用登陆接口返回的Cookie伪造请求的PHPSESSID。
如图:
或者你也可以定义个全局header,这样就不用每个接口都设置一遍了:
登录实现原理
利用ApiPost发送Cookie,使服务器识别已登录用户的Cookie。
猜你喜欢
- 2025-05-02 测试进阶:实现跨请求地保持登录的神器session你get了么?
- 2025-05-02 Python 爬虫入门五之 Cookie 的使用
- 2025-05-02 在Node应用中实施Web认证的四大方法
- 2025-05-02 PHP防火墙代码,防火墙,网站防火墙,WAF防火墙,PHP防火墙大全
- 2025-05-02 程序员和IT人都应该懂的知识:HTTP入门图解
- 2025-05-02 提高 PHP 代码质量的 36 计(如何提高php技术)
- 2025-05-02 彻底搞懂Token、Session和Cookie(token和cookie sessions什么区别)
- 2025-05-02 一文详解Python Flask模块设置Cookie和Session
- 2025-05-02 超详细的网络抓包神器 tcpdump 使用指南
- 2025-05-02 reGeorg搭建HTTP隧道和流量分析(如何建立gre隧道)
- 最近发表
-
- Zion无代码,小程序授权和解绑,无代码开发的关键
- 韦德二儿子“变”女儿,韦德支持儿子,与魔术师约翰逊经历相同
- 新鞋速报|Swoosh 面世 50 年!Nike Waffle Trainer 2致敬 Nike 的起源
- 李宁韦德之道2低帮版"踏冰" 球鞋曝光
- Zion又壮了!首秀顶翻1.9亿内线!英格拉姆单臂隔扣
- 音乐手游《zion载音》迎更新 钢琴白发少女免费带回家
- AI 应用赚钱工具哪家强?Coze 和 Zion 对比分析
- 韦德12岁次子完成变性手术,心情雀跃身姿妖娆
- 韦德晒全家福,他穿浴袍像中东土豪,二儿子扎雅比尤尼恩还性感
- 每日NBA球星上脚球鞋「5月12日」(近期nba球星上脚球鞋)
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)