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

《爆肝整理》保姆级系列教程python接口自动化(十三)--cookie绕过验证码登录(详解

python接口自动化(十三)--cookie绕过验证码登录(详解

简介

  有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接)。获取不到也没关系,可以通过添加cookie的方式绕过验证码。(注意:并不是所有的登录都是用cookie来保

持登录的,有些是用token登录)

抓登录cookie

1、如博客园登录后会生成一个已登录状态的cookie,那么只需要直接把这个值添加到cookies里面就可以了。

2、可以先手动登录一次,然后抓取这个cookie,这里就需要用抓包工具fiddler了

3、先打开博客园登录界面,手动输入账号和密码(勾选下次自动登录)

4、打开fiddler抓包工具,刷新下登录首页,就是登录前的cookie了

5、登录成功后,再查看cookie变化,发现多了两组参数,多的这两组参数就是我们想要的,copy出来,一会有用

cookie组成结构

1、用抓包工具fidller只能看到cookie的name和value两个参数,实际上cookie还有其它参数

2、以下是一个完整的cookie组成结构

1

2

3

4

5

6

7

cookie ={u'domain': u'.cnblogs.com',

            u'name': u'.CNBlogsCookie',

            u'value': u'xxxx',

            u'expiry': 1491887887,

            u'path': u'/',

            u'httpOnly': True,

            u'secure': False}

name:cookie的名称

value:cookie对应的值,动态生成的

domain:服务器域名

expiry:Cookie有效终止日期

path:Path属性定义了Web服务器上哪些路径下的页面可获取服务器设置的Cookie

httpOnly:防脚本攻击

secure:在Cookie中标记该变量,表明只有当浏览器和Web Server之间的通信协议为加密认证协议时,

浏览器才向服务器提交相应的Cookie。当前这种协议只有一种,即为HTTPS。

添加cookie

1、往session里面添加cookie可以用以下方式

2、set里面参数按括号里面的参数格式

1

2

3

coo = requests.cookies.RequestsCookieJar() 

coo.set('cookie-name''cookie-value', path='/', domain='.xxx.com'

s.cookies.update(c)

3、于是添加登录的cookie,把第一步fiddler抓到的内容填进去就可以了

1

2

3

4

5

c = requests.cookies.RequestsCookieJar()

c.set('.CNBlogsCookie''xxx')

c.set('.Cnblogs.AspNetCore.Cookies','xxx')

s.cookies.update(c)

print(s.cookies)

代码运行,刷新随笔

1、看到刚刚添加的随笔

参考代码

1、由于登录时候是多加2个cookie,我们可以先用get方法打开登录首页,获取部分cookie

2、再把登录需要的cookie添加到session里

3、添加成功后,随便编辑正文和标题保存到草稿箱

 1 # coding:utf-82 import requests3 # 先打开登录首页,获取部分cookie4 url = "https://passport.cnblogs.com/user/signin"5 headers = {6             "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"7            }  # get方法其它加个ser-Agent就可以了8 s = requests.session()9 r = s.get(url, headers=headers,verify=False)
10 print s.cookies
11 # 添加登录需要的两个cookie
12 c = requests.cookies.RequestsCookieJar()
13 c.set('.CNBlogsCookie', 'xxx')  # 填上面抓包内容
14 c.set('.Cnblogs.AspNetCore.Cookies','xxx')  # 填上面抓包内容
15 s.cookies.update(c)
16 print s.cookies
17 # 登录成功后保存编辑内容
18 url2= "https://i.cnblogs.com/EditPosts.aspx?opt=1"
19 body = {"__VIEWSTATE": "",
20         "__VIEWSTATEGENERATOR":"FE27D343",
21         "Editor$Edit$txbTitle":"这是绕过登录的标题:北京-宏哥",
22         "Editor$Edit$EditorBody":"<p>这里是中文内容:http://www.cnblogs.com/duhong/</p>",
23         "Editor$Edit$Advanced$ckbPublished":"on",
24         "Editor$Edit$Advanced$chkDisplayHomePage":"on",
25         "Editor$Edit$Advanced$chkComments":"on",
26         "Editor$Edit$Advanced$chkMainSyndication":"on",
27         "Editor$Edit$lkbDraft":"存为草稿",
28          }
29 r2 = s.post(url2, data=body, verify=False)
30 print r.content

  总结:
现阶段很多人都在说软件测试太内卷了,工作太难找了,竞争太激烈了。那么如何在这样的现状下使得自己更具有竞争力呢?笔者认为大家需要迅速学习软件测试的硬技能,提升自己的业务能力,早日摆脱初中级测试的Title,虽然测试人员众多,但是高级的软件测试人员还是很稀缺,有很多人挂着高级测试的头衔却还在干着初中级测试的活。在掌握这些硬技能的同时,软技能的培养同样重要,沟通能力、自主学习能力越来越被企业看重。

如果不想被这个时代淘汰,就要做好持续学习的准备。下方给大家准备了全套的软件测试,自动化测试全套教程。

【需要的可以点击下方官方推广小卡片扫码备注000免费领取】

相关文章:

《爆肝整理》保姆级系列教程python接口自动化(十三)--cookie绕过验证码登录(详解

python接口自动化&#xff08;十三&#xff09;--cookie绕过验证码登录&#xff08;详解 简介 有些登录的接口会有验证码&#xff1a;短信验证码&#xff0c;图形验证码等&#xff0c;这种登录的话验证码参数可以从后台获取的&#xff08;或者查数据库最直接&#xff09;。获取…...

soapui + groovy 接口自动化测试

1.操作excel的groovy脚本 package pubimport jxl.* import jxl.write.Label import jxl.write.WritableWorkbookclass ExcelOperation {def xlsFiledef workbookdef writableWorkbookdef ExcelOperation(){}//设置xlsFile文件路径def ExcelOperation(xlsFile){this.xlsFile x…...

Linux内存管理(三十五):内存规整简介

源码基于:Linux5.4 0. 前言 伙伴系统以页面为单位来管理内存,内存碎片也是基于页面的,即由大量离散且不连续的页面组成的。从内核角度来看,出现内存碎片不是好事情,有些情况下物理设备需要大段的连续的物理内存,如果内核无法满足,则会发生内核错误。内存规整就是为了解…...

Java连接Redis

Jedis是Redis官方推荐的Java连接开发工具。api&#xff1a;https://tool.oschina.net/apidocs/apidoc?apijedis-2.1.0一、 导入包<!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency><groupId>redis.clients</groupId><…...

Python语言零基础入门教程(十六)

Python 模块 Python 模块(Module)&#xff0c;是一个 Python 文件&#xff0c;以 .py 结尾&#xff0c;包含了 Python 对象定义和Python语句。 模块让你能够有逻辑地组织你的 Python 代码段。 把相关的代码分配到一个模块里能让你的代码更好用&#xff0c;更易懂。 模块能定…...

SAP ERP系统SD模块常用增强之一:VA01/VA02创建或修改SO的输入检查

在SAP/ERP项目的实施中销售管理模块&#xff08;SD&#xff09;的创建和修改销售订单必定会有输入字段校验检查的需求&#xff0c;来防止业务人员录入错误或少录入数据&#xff0c;SAP公司也考虑到这一点&#xff0c;所以这方面的配置功能也非常强大&#xff0c;通常情况下不需…...

深度学习知识补充

候选位置(proposal) RCNN 什么时ROI&#xff1f; 在图像处理领域&#xff0c;感兴趣区域(region of interest &#xff0c; ROI) 是从图像中选择的一个图像区域&#xff0c;这个区域是你的图像分析所关注的重点。圈定该区域以便进行进一步处理。使用ROI圈定你想读的目标&…...

Vue笔记(1)——数据代理与绑定

一、初始Vue 1.想让Vue工作&#xff0c;就必须创建一个Vue实例&#xff0c;且要传入一个配置对象&#xff1b; 2.root容器里的代码依然符合html规范&#xff0c;只不过混入了一些特殊的Vue语法&#xff1b; 3.root容器里的代码被称为【Vue模板】&#xff1b; 4.Vue实例和容器是…...

LeetCode题目笔记——2563. 统计公平数对的数目

文章目录题目描述题目链接题目难度——中等方法一&#xff1a;排序双指针代码/Python代码/C方法二代码/Python总结题目描述 这是前天周赛的第二题。 统计公平数对的数目 - 给你一个下标从 0 开始、长度为 n 的整数数组 nums &#xff0c;和两个整数 lower 和 upper &#xff0c…...

【MySQL Shell】8.9.5 将集群重新加入到 InnoDB ClusterSet

如果 InnoDB 集群是 InnoDB ClusterSet 部署的一部分&#xff0c;MySQL Shell 会在重新启动后立即自动将其恢复到拓扑中的角色&#xff0c;前提是其运行正常且未被标记为无效。但是&#xff0c;如果集群被标记为无效或其 ClusterSet 复制通道已停止&#xff0c;则必须使用 clus…...

元素水平垂直居中的方法有哪些?如果元素不定宽高呢?

实现元素水平垂直居中的方式&#xff1a; 利用定位margin:auto利用定位margin:负值利用定位transformtable布局flex布局grid布局 1-利用定位margin:auto <style>.father{width:500px;height:300px;border:1px solid #0a3b98;position: relative;}.son{width:100px;heig…...

访问学者在新加坡访学生活日常花销大吗?

新加坡地理位置优越&#xff0c;社会发达&#xff0c;教学质量好&#xff0c;吸引不少国内学生前往新加坡留学、访学。那么&#xff0c;去新加坡访学&#xff0c;访问学者花销需要多少钱呢&#xff1f;下面和51访学网小编一起来了解一下吧。 一、饮食 新加坡的饮食从很亲民的…...

XCP实战系列介绍11-几个常用的XCP命令解析

本文框架 1.概述2. 常用命令解析2.1 CONNECT连接(0xFF)2.2 SHORT_UPLOAD 命令(0xF4)2.2 SET_MTA (0xF6)2.3 MOVE命令(0x19)2.4 GET_CAL_PAGE(0xEA)2.5 SET_CAL_PAGE(0xEB)2.6 DOWNLOAD(0xF0)1.概述 在文章《看了就会的XCP协议介绍》中详细介绍了XCP的协议,在《XCP实战系列介绍…...

全志V853芯片 如何在Tina V85x平台切换sensor?

目的 V85x某方案目前默认Sensor是GC2053。实际使用时若需要用到GC4663&#xff08;比如wdr功能&#xff09;和SC530AI&#xff08;支持500W&#xff09;&#xff0c;可按如下步骤完成切换。 步骤 下面以GC4663为例&#xff0c;SC530AI按相应方式适配。 Step1 检查Sensor驱动…...

2023全网最火的接口自动化测试,一看就会

目录 接口自动化测试用例设计Excel接口测试用例访问MySQL接口测试用例访问PyTest测试框架接口自动化测试必备技能-HTTP协议request库实现接口请求 引言 与UI相比&#xff0c;接口一旦研发完成&#xff0c;通常变更或重构的频率和幅度相对较小。因此做接口自动化的性价比更高&…...

华为OD机试真题JAVA实现【最小传递延迟】真题+解题思路+代码(20222023)

🔥系列专栏 华为OD机试(JAVA)真题目录汇总华为OD机试(Python)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出示例一输入输出说明解题思路核心知识点Code运行结果版权说...

Transformer

Transformer由4部分组成&#xff0c;分别是&#xff1a;输入模块、编码模块、解码模块、输出模块整体架构图&#xff1a;一、输入模块结构 &#xff08;1&#xff09;源文本嵌入层及其位置编码器&#xff08;2&#xff09;目标文本嵌入层及其位置编码器二、编码器模块结构由N个…...

并发包工具之 批量处理任务 CompletionService(异步)、CompletableFuture(回调)

文章目录一、处理异步任务并获取返回值——CompletionService二、线程池三、Callable 与 Future四、通过回调方式处理可组合编排任务——CompletableFuture一、处理异步任务并获取返回值——CompletionService 特点描述&#xff1a; 对于比较复杂的计算&#xff0c;把…...

验收测试分类

α测试 Alpha 是内测版本&#xff0c;即现在所说的CB。 此版本表示该软件仅仅是一个初步完成品, 通常只在软件开发者内部交流, 也有很少一部分发布给专业测试人员。 一般而言, 该版本软件的bug 较多, 普通用户最好不要安装。 β测试 Beta是公测版本&#xff0c;是对所有用户…...

因新硬件支持内核问题Ubuntu 22.04.2推迟发布

导读Ubuntu 22.04.2 LTS 原定于 2 月 9 日发布。但 Canonical 宣布该版本因各种问题不得不推迟两周&#xff0c;定于 2 月 23 日发布。 Ubuntu 22.04.2 LTS 原定于 2 月 9 日发布。但 Canonical 宣布该版本因各种问题不得不推迟两周&#xff0c;定于 2 月 23 日发布。 Canonica…...

agent扩展-自定义外部加载路径

自定义classLoader实现加载外部jar, 以skywalking agent 类加载器为例子 整体思路 扩展findClass &#xff0c;解决loadClass可以查找到扩展findResource&#xff0c;解决getResources可以获取到资源 基本原理 ClassLoader loadClass的加载顺序 findLoadedClass 加载本地已经…...

Elasticsearch使用篇 - 指标聚合

指标聚合 指标聚合从聚合文档中提取出指标进行计算。可以从文档的字段或者使用脚本方式进行提取。 聚合统计可以同时返回明细数据&#xff0c;可以分页查询&#xff0c;可以返回总数量。 可以结合查询条件&#xff0c;限制数据范围&#xff0c;结合倒排索引列式存储。 指标…...

Python生命周期及内存管理

文章目录 一、Python的生命周期 1、概念2、如何监听生命周期二、内存管理 1.存储2.垃圾回收3.引用计数一、生命周期&#xff1a; 1、概念&#xff1a;一个对象从创建到消亡的过程 当一个对象呗创建是&#xff0c;会在内存中分配响应的内存空间进行存储 当这个对象不再使…...

Elasticsearch7.8.0版本进阶——数据写流程

目录一、数据写流程概述二、数据写流程步骤2.1、数据写流程图2.2、数据写流程步骤&#xff08;新建索引和删除文档所需要的步骤顺序&#xff09;2.3、数据写流程的请求参数一、数据写流程概述 新建、删除索引和新建、删除文档的请求都是写操作&#xff0c; 必须在主分片上面完…...

化学试剂Glutaric Acid-PEG-Glutaric Acid,GA-PEG-GA,戊二酸-聚乙二醇-戊二酸

一&#xff1a;产品描述 1、名称 英文&#xff1a;Glutaric Acid-PEG-Glutaric Acid&#xff0c;GA-PEG-GA 中文&#xff1a;戊二酸-聚乙二醇-戊二酸 2、CAS编号&#xff1a;N/A 3、所属分类&#xff1a;Carboxylic acid PEG 4、分子量&#xff1a;可定制&#xff0c; 戊…...

知识图谱业务落地技术推荐之国内知识图谱平台汇总(竞品)[阿里、腾讯、华为等】

各位可以参考国内知识图谱平台产品进行对技术链路搭建和产品参考提供借鉴。...

ABC 289 G - Shopping in AtCoder store 数学推导+凸包

大意&#xff1a; n个顾客&#xff0c;每个人有一个购买的欲望bi,m件物品&#xff0c;每一件物品有一个价值ci,每一个顾客会买商品当且仅当bici>定价. 现在要求对每一个商品定价&#xff0c;求出它的最大销售值&#xff08;数量*定价&#xff09; n,m<2e5 思路&#x…...

ARM Linux 如何在sysfs用户态命令行中控制 GPIO 引脚?

ARM Linux 如何在sysfs用户态命令行中控制 GPIO 引脚&#xff1f;我们在开发工作中&#xff0c;经常需要确定内核gpio驱动&#xff0c;是否有异常&#xff0c;或者在没有应用的情况下&#xff0c;像控制某个外设&#xff0c;这时我们就可以在控制台命令行中&#xff0c;用命令导…...

【Linux】生产者消费者模型 - 详解

目录 一.生产者消费者模型概念 1.为何要使用生产者消费者模型 2.生产者消费者之间的关系 3.生产者消费者模型的优点 二.基于阻塞队列的生产消费模型 1.在阻塞队列中的三种关系 2.BlockingQueue.hpp - 阻塞队列类 3.LockGurad.hpp - RAII互斥锁类 4.Task.hpp - 在阻塞队…...

源码深度解析Spring Bean的加载

在应用spring 的过程中&#xff0c;就会涉及到bean的加载&#xff0c;bean的加载经历一个相当复杂的过程&#xff0c;bean的加载入口如下&#xff1a; 使用getBean&#xff08;&#xff09;方法进行加载Bean&#xff0c;最终调用的是AbstractBeanFactory.doGetBean() 进行Bean的…...

潍坊建设局官方网站/网络推广seo

1. 2. Comparable接口是作用于类本身&#xff0c;来表明类本身是可以按CompareTo这种约定排序。 Comparator接口是一个为你生成一个单独的排序工具提供的约定。即可以创建一个实现这种约定的排序工具类&#xff0c;最终将这个工具类的实例告知sort方法。 回头补上Comparator的…...

wordpress前台注册 邀请码/昆明网络推广

一、主从复制 工作原理 从服务器连接主服务器&#xff0c;发送SYNC命令&#xff1b;主服务器接收到SYNC命名后&#xff0c;开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令&#xff1b;主服务器BGSAVE执行完后&#xff0c;向所有从服务器发送快照文件&am…...

台州做鞋子网站/站长查询站长工具

点击上方“计算机视觉life”&#xff0c;选择“星标”快速获得最新干货全国SLAM技术论坛由中国图象图形学学会主办&#xff0c;每年举办一届&#xff0c;邀请学术界和企业届的专家围绕SLAM技术的研究、发展以及产业化应用作技术分享。本文整理自浙江大学刘勇教授在第二届全国SL…...

简单的模板网站/南京怎样优化关键词排名

《精通引动APP测试实战&#xff1a;技术、工具和案例》1&#xff09;填写项目信息2&#xff09;配置项目目录和活动信息3&#xff09;设计UI并实现项目布局4&#xff09;Android项目的源代码实现5&#xff09;AndroidManifest.xml文件讲解1&#xff09;填写项目信息 新建一个安…...

网站的开发语言有哪些/关键词林俊杰mp3在线听

文章目录&#xff08;一&#xff09;inline 内联函数&#xff08;1&#xff09;宏函数和内联函数的区别&#xff1a;&#xff08;2&#xff09;inline 内联函数的优缺点&#xff1a;&#xff08;3&#xff09;使用内联函数建议&#xff1a;&#xff08;二&#xff09;inline函数…...

北京做校园的网站/宁德市自然资源局

首先&#xff0c;要说明的问题是&#xff0c;密码文件是驻留在数据库服务器上的一个文件。如果数据库是使用OUI安装的&#xff0c;密码文件是默认生成的。其中维护的具有SYSDBA管理权限的用户信息&#xff0c;也是随着系统运行自动维护的。一般来说&#xff0c;是不需要我们直接…...