当前位置: 首页 > news >正文

使用cookie操作的形式绕过验证码,进行免登录

验证码在当今的软件中应用非常广泛,如手机App,网页网站等,很多地方在利用这种机制来规避一些安全和隐私问题。
在自动化测试过程时,其中验证码的一种处理思路是通过cookie操作的形式来绕过验证码甚至是二维码等安全机制。而且这种方法和思路相对来说也是简便一些。

示例:通过百度网盘的登录场景来演示cookie实现自动化登录。
步骤1:通过脚本抓取初次打开百度网盘首页的cookie:

fromseleniumimportwebdriver driver=webdriver.Chrome()driver.get('https://pan.baidu.com/')cookies=driver.get_cookies()print(cookies)driver.quit()

执行代码后得到cookie的详情:
[{‘domain’: ‘.baidu.com’, ‘expiry’: 1679491301, ‘httpOnly’: False, ‘name’: ‘BAIDUID_BFESS’, ‘path’: ‘/’, ‘sameSite’: ‘None’, ‘secure’: True, ‘value’: ‘95FF9F733C38131EAA8CE70BF5C423A9:FG=1’}, {‘domain’: ‘.baidu.com’, ‘expiry’: 1679491300, ‘httpOnly’: False, ‘name’: ‘BAIDUID’, ‘path’: ‘/’, ‘secure’: False, ‘value’: ‘95FF9F733C38131EAA8CE70BF5C423A9:FG=1’}]

步骤2:登录百度网盘,再抓取一次cookie:

fromseleniumimportwebdriver driver=webdriver.Chrome()driver.maximize_window()driver.get('https://pan.baidu.com/')driver.implicitly_wait(10)driver.find_element_by_xpath('//input[@id="TANGRAM__PSP_4__userName"]').send_keys('输入账号')driver.find_element_by_xpath('//input[@id="TANGRAM__PSP_4__password"]').send_keys('输入密码')driver.find_element_by_xpath('//input[@id="TANGRAM__PSP_4__submit"]').click()cookies=driver.get_cookies()print(cookies)driver.quit()

步骤3:比较一下两次得到的cookie值的差别,找出哪些项是在第一次cookie值中没有的。通过添加这些缺少的值,来实现自动化登录。

# coding = utf-8# Author: wh# Date: 2022/3/22 21:09fromseleniumimportwebdriverimporttime driver=webdriver.Chrome()driver.get('https://pan.baidu.com/')cookies=[{'domain':'.pan.baidu.com','httpOnly':False,'name':'Hm_lpvt_7a3960b6f067eb0085b7f96ff5e660b0','path':'/','secure':False,'value':'1613827179'},{'domain':'.pan.baidu.com','expiry':1645363178,'httpOnly':False,'name':'Hm_lvt_7a3960b6f067eb0085b7f96ff5e660b0','path':'/','secure':False,'value':'1613827179'},{'domain':'.pan.baidu.com','expiry':1616505578,'httpOnly':True,'name':'STOKEN','path':'/','secure':False,'value':'a1abe64bd378e143476f2d856a1e5a7080aff1abc2ecd89f32ea5e90a9345e17'},{'domain':'pan.baidu.com','httpOnly':False,'name':'csrfToken','path':'/','secure':False,'value':'DllTNBH92jJnSmaaheqBlCVP'},{'domain':'pan.baidu.com','expiry':4205827178,'httpOnly':False,'name':'pan_login_way','path':'/','secure':False,'value':'1'},{'domain':'.baidu.com','expiry':1873027176,'httpOnly':True,'name':'BDUSS_BFESS','path':'/','sameSite':'None','secure':True,'value':'dBZktEYzQxVH5WVzBBYndldVN1SFpzNHJXM1B5ajBLamZvcE9PbmJ1eG9tVmhnSVFBQUFBJCQAAAAAAAAAAAEAAACR-JXzu6LHxbe76srX0wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgMMWBoDDFgQ1'},{'domain':'.pan.baidu.com','expiry':1613913578,'httpOnly':True,'name':'PANPSC','path':'/','secure':False,'value':'7228614414795236799%3AHSTAF2Xekfpr2hRSrOsG6kYemHfSgA%2FTpMk%2BQbyzAbdSghkg9EtPCY8c7lMN%2Fy07vd10u1h12sgr2wqYbSNJzI5Z7CUEEVIfuYpAOs4Qb65E2OlLZIpvWpwI2lYmdZVOf9Ocgd2LBDwKxMOTh0nUJJC9qgHiau%2FldS8c7ndIzLExGZiuUUeCaoX0p6z9lD8V7g%2B5PM2vWus%3D'},{'domain':'.baidu.com','expiry':1873027176,'httpOnly':True,'name':'BDUSS','path':'/','secure':False,'value':'dBZktEYzQxVH5WVzBBYndldVN1SFpzNHJXM1B5ajBLamZvcE9PbmJ1eG9tVmhnSVFBQUFBJCQAAAAAAAAAAAEAAACR-JXzu6LHxbe76srX0wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgMMWBoDDFgQ1'},{'domain':'.baidu.com','expiry':1645363164,'httpOnly':False,'name':'BAIDUID','path':'/','secure':False,'value':'9B84713A7600A60235F0E15E206A8C3D:FG=1'}]# 写入cookieforcookieincookies:driver.add_cookie(cookie)time.sleep(3)# 访问网站,查看是否是登录状态driver.get('https://pan.baidu.com/')# 关闭浏览器driver.quit()
http://www.jsqmd.com/news/731019/

相关文章:

  • 用STM32CubeMX和HAL库快速搞定步进电机:基于TB6600的编码器闭环控制教程
  • STM32G4蓝桥杯嵌入式RTC实战:从CubeMX配置到LCD显示时钟的保姆级教程
  • 别再手动写FIFO了!Vivado IP核配置避坑指南(含异步FIFO实战代码)
  • 别再只会SE38写报表了!ABAP程序结构化的5种实战用法(含SE37函数/Include/子例程/宏)
  • 从手机摄像头到卫星传感器:聊聊我们身边的电磁波遥感技术
  • 孤舟笔记 并发篇十三 阻塞队列被异步消费顺序乱了怎么办?这道题藏着并发编程的核心思维
  • OCEAN-PE-Pro 系统架构设计文档
  • 率零10万字降AI套餐+宿舍6人拼单:平摊每人30元搞定毕业季降AI!
  • 别再手动配IP了!用华为DHCPv6 PD功能,5分钟搞定大规模IPv6地址自动下发
  • PhotoRec核心技术揭秘:基于文件签名的智能恢复机制
  • 别再乱下模型了!这5个Stable Diffusion checkpoint,新手入门直接闭眼入
  • FlowCue提词器深度解析:AI语音识别与智能脚本润色实战
  • AutoDock Vina新手避坑指南:从PYMOL处理蛋白到盒子设置,一次讲清
  • 利用GPT撰写游戏剧情:从灵感到成品的详细指南
  • 任天堂Switch大气层系统终极指南:从新手到高手的完整教程
  • 3.2元/千字论文降AI率工具——率零做到了承诺型工具的最低单价!
  • 基于DRF的MCP服务器:实现API文档实时同步与AI智能开发
  • Python 爬虫数据处理:爬取日志结构化分析与错误统计
  • Arm ETE架构TRCCIDCVR寄存器原理与应用解析
  • 知识竞赛现场布置指南
  • WaveTools鸣潮工具箱:3分钟掌握游戏画质优化与抽卡分析的完整方案
  • qmc-decoder:QQ音乐QMC格式终极解锁方案,免费快速转换MP3/FLAC
  • 三维模型处理效率翻倍:实测fTetWild参数对网格质量和速度的影响(附避坑指南)
  • RT-DTER最新创新改进系列:融合多头上下文聚合ContextAggregation通用构建块,利用长期交互作用、局部卷积操作的诱导偏差,产生更快的速度、更高的精度!
  • Composio:声明式工具集成平台,让AI Agent轻松调用外部API与系统
  • 5分钟上手:如何用GPU加速的MediaPipe插件打造专业级实时视觉交互系统?
  • X-Pipe:携程开源Redis多数据中心复制系统完整指南
  • 显卡驱动残留如何彻底清理?5个实战场景解析Display Driver Uninstaller专业方案
  • AndronixOrigin实际应用案例:用户如何用手机替代笔记本电脑的完整经验分享
  • 构建自定义LinPEAS的完整指南:3步实现选择性检查与轻量化部署