博客
关于我
Python+pytest接口自动化之cookie绕过登录(保持登录状态)
阅读量:796 次
发布时间: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多处理.Process:从局部变量开始
    查看>>
    Python多处理-进程数
    查看>>
    python多个定时器_python单线程实现多个定时器示例
    查看>>
    python处理文本_Python - Tokenization
    查看>>
    Python处理数据方向之OpenCV
    查看>>
    python处理一亿条数据_Python数据分析实战(一)
    查看>>
    Python处理PDF神器:PyMuPDF的安装与使用
    查看>>
    Python处理Excel数据
    查看>>
    Python基础:集合与文件操作
    查看>>
    Python基础:搭建开发环境(1)
    查看>>
    PYTHON基础:如何阅读N个整数,直到#39;
    查看>>
    Python基础:11变量作用域和闭包
    查看>>
    Python基础: with模式和__enter__ 和 __exit__
    查看>>
    Python基础(7)--函数
    查看>>
    Python基础部分-while循环,格式化输出
    查看>>
    Python基础语法:顺序语句结构
    查看>>
    Python基础语法:理解代码与写代码
    查看>>
    Python基础语法:条件和分支
    查看>>