博客
关于我
Python+pytest接口自动化之cookie绕过登录(保持登录状态)
阅读量:798 次
发布时间:2023-03-07

本文共 1211 字,大约阅读时间需要 4 分钟。

cookie绕过登录:技术深度解析

前言

在编写接口自动化测试用例或其他脚本时,经常会遇到需要绕过用户名/密码或验证码登录的情况。直接登录会导致效率低下,资源浪费。然而,有些网站使用cookie来识别用户身份。我们可以通过获取登录后的cookie,绕过直接登录,直接请求所需接口。

cookie工作原理

HTTP协议1.0是无状态的,无法记忆用户登录状态。为了解决这个问题,cookie机制应运而生。简单来说,cookie通过在客户端存储用户信息,服务器通过验证cookie来维持用户登录状态。

具体流程如下:

  • 用户发送请求,服务器返回响应头中的Set-Cookie字段。
  • 客户端保存cookie信息。
  • 每次请求时,客户端在请求头中携带cookie。
  • 服务器通过cookie验证客户端身份。
  • 以登录某网站为例,登录成功后,服务器返回set-cookie字段。浏览器保存该cookie,后续请求携带该cookie,服务器识别登录状态。

    cookie绕过登录

    1、适用场景
    • 网络爬虫:处理验证码登录,获取登录后的cookie用于接口请求。
    • 接口自动化测试:减少登录请求频率,提高效率。
    • 其他需要绕过登录的场景。
    2、使用cookie绕过登录的示例

    需求:访问博客园获取个人信息。分析:

    • 登录方式:用户名、密码或手机验证码。
    • 可尝试使用cookie绕过登录。
    3、实现步骤
  • 使用手机验证码登录,使用Fiddler抓包获取登录后的cookie。
  • 编写python代码,使用获取到的cookie请求个人信息接口。
  • 实际操作流程

  • 登录网站,使用Fiddler抓包获取登录后的cookie。
    • 通过抓包工具捕获登录成功后的cookie。
  • 编写python代码,使用获取到的cookie请求个人信息接口。
  • import requestsurl = "https://account.cnblogs.com/user/userinfo"headers = {    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36 Edg/99.0.1150.30",    "cookie": "登录成功后的cookie"}res = requests.get(url=url, headers=headers).textprint(res)
    1. 验证结果:
      • 加上cookie,请求接口成功获取个人信息。
      • 不带cookie,提示需登录,验证成功。
    2. 总结

      cookie绕过登录是通过保持登录状态实现的,而非真正绕过登录。cookie机制广泛应用于会话管理中。除了cookie,还有session和token等方式。理解这些技术有助于更好地解决实际问题。

    转载地址:http://ygofk.baihongyu.com/

    你可能感兴趣的文章
    Python 之匿名函数和偏函数
    查看>>
    python 之栈的实现
    查看>>
    Python 交互式数据可视化详解
    查看>>
    python语言有哪些优点和缺点_Python有哪些优缺点,你了解吗?
    查看>>
    Python 从入门到精通:30天速成教程到底有多狠?你能坚持下来吗?
    查看>>
    Python 从数据库中存储和检索密码的最安全方法
    查看>>
    Python语言及其应用 - 知识点遍历
    查看>>
    Python 优化提速的 8 个小技巧
    查看>>
    Python 余弦相似度与皮尔逊相关系数 计算
    查看>>
    python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
    查看>>
    python 使用filetype校验文件
    查看>>
    Python 使用flush函数将缓冲区数据立即写磁盘
    查看>>
    python 使用in判断不准确,in不好使
    查看>>
    Python 使用pandas 进行查询和统计详解
    查看>>
    Redis 配置文件redis.conf详细解释
    查看>>
    python网络爬虫(2)——scrapy框架的基础使用
    查看>>
    python网络爬虫实例教程试读_Python网络爬虫实战教程(全套完整版) - 学途无忧网 - 做技术的王者 - Powered By EduSoho...
    查看>>
    Python 使用哈希函数用于加密
    查看>>
    Python 依赖管理的革新——Poetry 深度解析
    查看>>
    python 保留精度及增加去除数字的千位分隔符(金额化数字)
    查看>>