网站首页 > 基础教程 正文
请求一个需要登录才能访问的接口(基于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。
猜你喜欢
- 2024-10-22 PHP为什么受欢迎?和Python、ASP.NET相比优势体现在哪些方面?
- 2024-10-22 百度优化建议合理使用cookie如何解决
- 2024-10-22 cookie窃取和session劫持 cookie被攻击者截获
- 2024-10-22 WAF-Bypass之SQL注入绕过思路总结
- 2024-10-22 将CRLF注入PHP的cURL选项 crlf注入的原理
- 2024-10-22 session和cookie的两种会话技术 请论述session和cookie技术的区别
- 2024-10-22 “黑客”入门学习之“Cookie技术详解”
- 2024-10-22 惊艳面试官的 Cookie 介绍 cookie面试题
- 2024-10-22 四十,phpMyAdmin 4.8.1后台文件包含漏洞复现及详解
- 2024-10-22 PHP使用反向Ajax技术实现在线客服系统
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)