简介

有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接)。获取不到也没关系,可以通过添加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组成结构

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里面参数按括号里面的参数格式

coo = requests.cookies.RequestsCookieJar()

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

s.cookies.update(c)

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

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、添加成功后,随便编辑正文和标题保存到草稿箱

# coding:utf-

import requests

# 先打开登录首页,获取部分cookie

url = "https://passport.cnblogs.com/user/signin"

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"

} # get方法其它加个ser-Agent就可以了

s = requests.session()

r = s.get(url, headers=headers,verify=False)

print s.cookies

# 添加登录需要的两个cookie

c = requests.cookies.RequestsCookieJar()

c.set('.CNBlogsCookie', 'xxx') # 填上面抓包内容

c.set('.Cnblogs.AspNetCore.Cookies','xxx') # 填上面抓包内容

s.cookies.update(c)

print s.cookies

# 登录成功后保存编辑内容

url2= "https://i.cnblogs.com/EditPosts.aspx?opt=1"

body = {"__VIEWSTATE": "",

"__VIEWSTATEGENERATOR":"FE27D343",

"Editor$Edit$txbTitle":"这是绕过登录的标题:北京-宏哥",

"Editor$Edit$EditorBody":"

这里是中文内容:http://www.cnblogs.com/duhong/

",

"Editor$Edit$Advanced$ckbPublished":"on",

"Editor$Edit$Advanced$chkDisplayHomePage":"on",

"Editor$Edit$Advanced$chkComments":"on",

"Editor$Edit$Advanced$chkMainSyndication":"on",

"Editor$Edit$lkbDraft":"存为草稿",

}

r2 = s.post(url2, data=body, verify=False)

print r.content

python接口自动化(Cookie_绕过验证码登录)

python接口自动化(Cookie_绕过验证码登录) 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以 ...

Python接口自动化基础---cookie绕过登录

使用fiddler获取登录cookie 对比登录前和登录后的cookis 登录前 登录后: 获得cookie之后,使用cookie访问,就可以获取登录态: import requests url='h ...

python接口自动化(七)--状态码详解对照表(详解)

简介 我们为啥要了解状态码,从它的作用,就不言而喻了.如果不了解,我们就会像个无头苍蝇,横冲直撞.遇到问题也不知道从何处入手,就是想找别人帮忙,也不知道是找前端还是后端的工程师. 状态码的作用是:we ...

cookie绕过验证码登录

#coding:utf-8 ''' cookie绕过验证码登录,第一步先访问登录页面获取登录前的cookie,第二步用fiddler抓到的手动登录的cookie加入cookie中,登录成功,第三步登录 ...

Python - Cookie绕过验证码登录

前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 另一篇博文  P ...

Python+fiddler(基于Cookie绕过验证码自动登录)

案例:使用Cookie绕过百度验证码自动登录账户 步骤: 1.浏览器进入百度首页,点击登录按钮,输入相关信息(注意:暂时不要点击登录按钮) 2.进入fiddler,首先获取证书,Tools--> ...

通过cookie绕过验证码登录

在我们做自动化的时候碰到一些比较难破解的验证码时是非常头疼的,一般来说最好的办法就是让开发屏蔽,这样最有益身心健康. 那么今天我介绍的这个方法也挺简单的,就是通过添加cookie的方式绕过验证码直接登 ...

Requests方法 -- cookie绕过验证码登录操作

前言有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接).获取不到也没关系,可以通过添加 cookie 的方式绕过验证码. 1.这里以登录博 ...

Postman接口自动化--Postman Script脚本功能使用详解

Postman Script 功能,支持原生的JS,所以可以使用JS解决很多接口自动化的一些问题,例如接口依赖.接口参数专递和接口断言等: 这里主要是针对Pre-Request Script 和 Te ...

随机推荐

phpunit测试成功 phpunit测试实践代码

16:12 2015/12/8phpunit测试成功,代码写在www目录下,以类名命名代码文件,我的文件名为 ArrayTest.php,类名为ArrayTest,内部写了简单的测试代码:<?p ...

css控制内容显示,自动加&quot&semi;&period;&period;&period;&quot&semi;

.css{     overflow:hidden;     white-space:nowrap;     text-overflow:ellipsis;     width:100px; }  c ...

cannot locate symbol &quot&semi;atof&quot&semi; referenced by错误分析

ndk从r8升级到r10后, 使用eclipse编译出来的so库报错了,加载库的时候报错cannot locate symbol "atof" referenced by 原因:A ...

Python实现XML文件解析

1. XML简介 XML(eXtensible Markup Language)指可扩展标记语言,被设计用来传输和存储数据,已经日趋成为当前许多新生技术的核心,在不同的领域都有着不同的应用.它是web ...

Macbook外接显示器模糊解决方法

解决方法(此方法经本人测试失败) 下载这个http://www.elias.cn/uploads/Mac/patch-edid.zip.如果链接失效可以使用https://gist.github.co ...

PAT 甲级 1090 Highest Price in Supply Chain

https://pintia.cn/problem-sets/994805342720868352/problems/994805376476626944 A supply chain is a ne ...

每天学一点easyui①

引入js和css文件

python绕过验证码登录_python接口自动化(十三)--cookie绕过验证码登录(详解)...相关推荐

  1. python 接口测试 如何写配置文件_python接口自动化之ConfigParser配置文件的使用详解...

    前言:目前我们使用的绝大多数计算机程序,无论是办公软件,浏览器,甚至游戏.视频都是通过菜单界面系统配置的,它几乎成了我们使用机器的默认方式.而在python中,也有这样的一个配置模块可以把代码可配置化 ...

  2. python自动化接口测试中的cookies怎么实现_Python接口自动化之cookie、session应用

    ------·今天距2021年260天·------ 这是ITester软件测试小栈第112次推文 在上一篇Python接口自动化测试系列文章:Python接口自动化-requests模块之post请 ...

  3. python生成表格文件_python 读取excel文件生成sql文件实例详解

    python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...

  4. python动态图表变化_Python数据可视化 pyecharts实现各种统计图表过程详解

    Python数据可视化 pyecharts实现各种统计图表过程详解 发布时间:2020-09-10 04:53:26 来源:脚本之家 阅读:78 1.pyecharts介绍 Echarts是一款由百度 ...

  5. python中类的构成_Python中类型关系和继承关系实例详解

    本文详细介绍了Python中类型关系和继承关系.分享给大家供大家参考.具体分析如下: 如果一个对象A持有另一个对象B的ID,那么检索到A之后就可以检索到B,我们就说存在一个A到B的导航.这种导航关系使 ...

  6. python数值类型教程_Python数值类型 int、float、complex 详解

    Python数值类型 int.float.complex 详解 Python数值类型:int.float.complex 在Python程序中,int.float和complex是三种十分重要的数值类 ...

  7. python io密集 多线程_python多进程和多线程究竟谁更快(详解)

    python3.6 threading和multiprocessing 四核+三星250G-850-SSD 自从用多进程和多线程进行编程,一致没搞懂到底谁更快.网上很多都说python多进程更快,因为 ...

  8. python hook pc微信_python实现微信跳一跳辅助工具步骤详解

    说明 1.windows上安装安卓模拟器,安卓版本5.1以上 2.模拟器里下载安装最新的微信6.6.1 3.最好使用python2.7,python3的pyhook包有bug,解决比较麻烦 步骤 1. ...

  9. python编写病毒扫描器_python实现集中式的病毒扫描功能详解

    本文实例讲述了python实现集中式的病毒扫描功能.分享给大家供大家参考,具体如下: 一 点睛 本次实践实现了一个集中式的病毒扫描管理,可以针对不同业务环境定制扫描策略,比如扫描对象.描述模式.扫描路 ...

最新文章

  1. 华中农业大学Kenichi Tsuda组招收多名博士后
  2. 网站的最大并发连接数
  3. [转]Linux下pppoe配合Drcom插件上网方法介绍......
  4. what to try on on idiscover?
  5. js操作元素节点对象value
  6. java 中 if与while的区别
  7. show一下自己的文档编写功底
  8. 【开发者成长】每个人都在编写草率代码
  9. Mr.J--正则表达式
  10. 视觉SLAM笔记(56) 位姿图优化
  11. python情感分析预测模型_Python 使用 NLTK 实现简单情感分析--Twitter(推特)分析...
  12. 设计模式 - 状态模式、职责连模式
  13. 软件测试方法可以分为几种?
  14. java 生成pem_生成pem文件 - The NoteBook of EricKong - BlogJava
  15. HCIA—网络基本知识—双绞线(文字 + 图解)
  16. 舌尖上的阳朔,除米粉之外的桂菜诱惑
  17. ubuntu软件:无法从“extensions.gnome.org”下载更新
  18. 第一章 爬虫(认识网络爬虫)
  19. ios 扇形 按钮_iOS 饼状图(扇形图)动画效果的实现
  20. 2007年9月13日

热门文章

  1. Latex 自定义算法编号
  2. 字符分类的函数(比如大写字母转小写的函数)
  3. Windows下的一个窗口SPY工具
  4. 26-29岁未婚女子的共同特点(转自:一个鄙视女人的男人。。同时,我也鄙视这个不尊重女人的男人)
  5. 中小企业服务器虚拟化解决操作系统,服务器虚拟化在中小企业中的应用
  6. linux DWORD的正确定义
  7. Katalon(自动化测试工具)教程--初识Katalon Studio
  8. springboot读取配置文件的三种方式
  9. 对mysql记录批量删除sql语句
  10. Java中,简单的List转Set实现