博客
关于我
Python+pytest接口自动化之cookie绕过登录(保持登录状态)
阅读量:803 次
发布时间: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可视化matplotlib_如何使用Python中最强大的可视化工具Matplotlib?
    查看>>
    python可维护性_使用这7大神器,让你的Python 代码更容易于维护
    查看>>
    python变量的详细教程_Python零基础入门教程之语法入门[变量](第二期)
    查看>>
    Python变量命名方法-ChatGPT4o作答
    查看>>
    Python变量与运算符
    查看>>
    python单元测试之unittest
    查看>>
    Python单元测试unittest实战
    查看>>
    python协程实时输出_Python 协程以及事件循环的问题,怎么知道 IO 读取结束了呢?...
    查看>>
    Python化身“安全老中医”:一键搞定工控系统漏洞,从零基础到精通,收藏这篇就够了!
    查看>>
    Python加速运行技巧
    查看>>
    python办公自动化基础遍历文件夹
    查看>>
    python办公自动化基础输出文件和文件夹
    查看>>
    python办公自动化基础搜索文件
    查看>>
    python前端之css
    查看>>
    Python制作进度条,原来有这么多方法
    查看>>
    Python制作简单的学生成绩管理系统
    查看>>
    python制作甘特图的基本知识(附Demo)
    查看>>
    python制作一个简单的服务器,【Python】 做一个简单的 http 服务器
    查看>>
    Python到底能做什么?它的优点在哪?
    查看>>