验证码是自动化的天敌?看看大神是怎么解决的

news2024/12/23 23:00:58

01
验证码

1、什么是验证码:

指一种随机生成的信息(数字、字母、汉字、图片、算术题)等为了防止恶意的请求行为,增加应用的安全性

自动化过程中也是需要进行注册或者登陆的操作,所以需要处理验证

2、验证码处理方式:
去掉验证码

由开发操作,用在测试环境

这是最简单的方法,对于开发人员来说,只是把验证码的相关代码注释掉即可,如果是在测试环境,这样做可省去了测试人员不少麻烦,如果自动化脚本是要在正式环境跑,这样就给系统带来了一定的风险。

设置万能验证码

由开发操作,一般也只使用在测试环境

验证码识别技术

由于技术难度高,识别率很难达到100%,一般不建议使用记录COOKIE 通过记录cookie来跳过登陆的操作

可以通过add_cookie()方法将用户名密码写入浏览器 cookie,再次访问网站时服务器直接读取浏览器 Cookie 登录

02

Cookie

1、Cookie原理
Cookie是由Web服务器生成的,并且保存在用户浏览器上的小文本文件,它可以包含用户相关的信息

Cookie数据格式:键值对组成(python中的字典)

Cookie产生:

客户端请求服务器,如果服务器需要记录该用户状态,就向客户端浏览器颁发一个Cookie数据

Cookie使用:

当浏览器再次请求该网站时,浏览器把请求的数据和Cookie数据一同提交给服务器,服务器检查Cookie,以此来辨认用户状态

2、Selenium操作cookie
driver.get_cookie(name) 获取指名称的cookie信息,返回的是一个字典

driver.get_cookies() 获取的是所有cookie的信息, 返回的是一个列表

driver.add_cookie(dict_cookie) 往浏览器驱动增加cookie,dict_cookie是一个字典

以百度为例

BDUSS是登录百度后的唯一身份凭证(*.baidu.com),拿到BDUSS就等于拿到帐号的控制权,通行贴吧、知道、百科、文库、空间、百度云等百度主要产品。

登录baidu,登录成功后抓取 (BDUSS)

使用add_cookie()方法,添加 ()键和值

调用刷新方法 driver.refresh()

如何获取BDUSS的值?(抓包实现)

通过fiddler工具抓包后,获取BDUSS

图片

若抓包工具不方便,可以通过浏览器搜索cookie信息

点击chrome浏览器设置

在设置搜索中输入cookie

查看所有cookie和网站数据

搜索百度域名:baidu.com

获取BDUSS

图片

代码实现

在这里插入图片描述
在这里插入图片描述

刷新后,结果展示

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/100592.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《第一堂棒球课》:MLB棒球创造营·棒球名人堂

铃木一朗,1973年10月22日出生于西春日井郡丰山町(日本),日本职业棒球运动员,效力于美国职棒大联盟西雅图水手队。 1991年被欧力士蓝浪以第四指名选中,1994年以片假名(Ichiro)在一军…

记录一次并发问题的解决

并发问题的产生背景 该问题是在生产运行的过程中出现的。这个运行的项目是一个拉取第三方数据的一个服务,该服务会在拉取到数据之后直接将该数据直接插入到本地库,其中插入本地库的操作是调用的一个静态方法,静态方法对数据进行了多次数据处…

携程Apollo配置中心架构介绍

俗话说”麻雀虽小,五脏俱全“,有人说想看开源源码却不知道什么好,事实上,那些流行多年,广受好评的开源工程都是很值得一读的。今天我们介绍Apollo配置中心的基本情况,之所以介绍这个,主要是因为…

在线地图持续进化,BAT技术“鲜”发制人

配图来自Canva可画 眼下,在线地图正在成为智能穿戴、物流运输、旅游度假等诸多领域的“基础设施”,尤其是自动驾驶、车路协同等汽车细分赛道越来越重视在线地图的导入。 得益于此,在线地图市场持续走向火热。华经产业研究院数据显示&#x…

linux基础学习-ssh基础

ssh基础 通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上 SSH客户端是一种使用Secure Shell(SSH)协议连接到远程计算机的软件程序目前较为可靠,专门为远程登录会话和其他网络服务提供安全性的协议 利用SSH协议可以有效防止远程管理过程中的信息泄露提供SS…

行业级开源无人机目标追踪,高空助力抓贼!

活久见!成都一高楼惊险无人机抓小偷视频中危险动作,请勿模仿! 本次实验中我们使用的是Prometheus 600(P600)行业级无人机研发平台(此平台适用于无人机行业应用开发与室外环境下的无人机算法验证&#xff0…

White Rose设计与架构的想法分享

在七牛云校园黑客马拉松中,一款设计优秀、逻辑清晰的白板作品脱颖而出,获得第二名的好成绩,这就是来自郑州大学Since团队的White Rose白板,以下是他们的设计和架构分享。 一、前言 White Rose是参加七牛云hackathon比赛的作品&am…

【】Fate单机部署及代码调试全流程ongoing

这里写自定义目录标题Fate单机部署及代码调试全流程一、安装Linux系统或者虚拟机-Linux系统1、先装虚拟机2、在虚拟机上安装Ubuntu系统二、FATE单机部署并PyCharm如何连接远程服务器的docker容器进行运行和调试代码【整体未成功,可跳过】三、Ubuntu系统上安装anacon…

谈谈什么是才是InnoDB解决幻读的最佳方案

本文会分享一下MySQL的InnoDB引擎下的事务幻读问题与解决方案--LBCC&MVCC。经过好几天的熬夜通宵,终于把这部分的内容捋清楚了。至于为什么说是InnoDB呢?因为MyISAM引擎是不支持事务的。 事务 概念 一个事情由n个单元组成,这n个单元在…

Apache 虚拟主机里的 ServerName 指令

术语虚拟主机(Virtual host)是指在一台机器上运行多个网站(例如 company1.example.com 和 company2.example.com)的做法。 虚拟主机可以是“基于 IP”的,这意味着每个网站都有不同的 IP 地址,也可以是“基于名称的”,…

Springboot集成Neo4j

一、概述 1.为什么图形数据库? 生活在一个互联的世界中,大多数领域需要处理丰富的连接集以了解真正发生的事情。通常,我们发现项目之间的联系与项目本身一样重要。 虽然现有的关系数据库可以存储这些关系,但它们通过昂贵的JOIN操作…

微服务框架 SpringCloud微服务架构 服务异步通讯 50 消息可靠性 50.3 消费者消息确认

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 服务异步通讯 文章目录微服务框架服务异步通讯50 消息可靠性50.3 消费者消息确认50.3.1 消费者确认50 消息可靠性 50.3 消费者消息确认 50…

OTA前装搭载率逼近50%,哪些供应商正在领跑细分赛道

智能汽车的OTA,正在进入新发展周期。 早期的OTA,主要围绕座舱信息娱乐、T-BOX及少部分车内其他ECU,主要目的是修复软件Bug以及改进用户体验,降低整车的召回成本。这个阶段,OTA对应的整车电子架构还是以传统的分布式EC…

前端上传文件或者上传文件夹

文档 https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/input 上传文件夹&#xff0c;主要的参数webkitdirectory 浏览器上传文件夹&#xff0c;浏览器会弹出询问窗口 兼容性 https://caniuse.com/?searchwebkitdirectory 代码如下 <!-- 选择文件 -->…

【Anime.js】——Anime.js源码之引擎的理解

一、Anime.js整体结构 Anime.js的强大之处在于代码量非常少&#xff0c;但功能却非常强大。让我们一起来探索Anime.js源码的核心吧~ Anime.js之所以能如此强大主要是因为它的代码结构设计的非常巧妙合理&#xff0c;所以我们想要掌握Anime.js的核心&#xff0c;首先我们要了解…

CUDA入门和网络加速学习(四)

0. 简介 最近作者希望系统性的去学习一下CUDA加速的相关知识&#xff0c;正好看到深蓝学院有这一门课程。所以这里作者以此课程来作为主线来进行记录分享&#xff0c;方便能给CUDA网络加速学习的萌新们去提供一定的帮助。 1. Cublas概念 cuBLAS是一个BLAS的实现&#xff0c;…

低代码常见场景【下】|行业示例

全文 3131 字 阅读时间约 9 分钟 本文首发于码匠技术博客 目录 低代码的行业示例 低代码在业务用例中的优势 关于码匠 阅读完上一篇文章后&#xff08;低代码用例【上】&#xff5c;如何解决业务问题&#xff09;&#xff0c;想必您已经对低代码的通用用例以及低代码如何解…

PolarDB-X源码解读:DDL的一生(下)

概述 在《DDL的一生&#xff08;上&#xff09;》中&#xff0c;我们以添加全局二级索引为例&#xff0c;从DDL开发者的视角介绍了如何在DDL引擎框架下实现一个逻辑DDL。在本篇&#xff0c;作者将从DDL引擎的视角出发&#xff0c;向读者介绍DDL引擎的架构、实现&#xff0c;以…

应用于高速收发模块的并行光学WDM波分光学技术

光模块的传输距离分为短距、中距、长距。通常短距离传输是指2km以下的传输距离&#xff0c;中距为10-20km。≥30km的则为长距离传输。根据不同的传输距离&#xff0c;光模块类型分为SR&#xff08;100m&#xff09;、DR&#xff08;500m&#xff09;、FR&#xff08;2km&#x…

实战三十二:基于knn算法的用户购物消费预测代码+数据

K近邻算法通过计算被分类对象与训练集对象之间的距离,确定其k个临近点,然后使用这k个临近点中最多的分类作为分类结果。 如上图,当K=3时,它会被分类为 Class B。因为K=3时,3个临近点里有2个是B类的。 同理,K=7时它会被分类为 Class A,因为K=7时,7个临近点里4个是A类的…