知行编程网知行编程网  2023-01-06 10:00 知行编程网 隐藏边栏  11 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python:使用Cookie绕过验证码的相关知识,希望可以帮到处于编程学习途中的小伙伴

Python:使用 cookie 绕过验证码

使用cookies绕过验证码的前提是必须有长期保存cookies的功能。比如登录时,会有“保存本次登录信息”、“下次自动登录”、“记住我”等选项。

Python:使用 cookie 绕过验证码

当你勾选类似的选项时,服务器会在你登录成功后要求浏览器将你的登录信息保存在cookie中。我们可以从浏览器cookie中获取存储的信息,在测试时添加到浏览器中,以达到绕过登录的目的。

还是以 showdoc 为例,showdoc 是默认保存 cookie 的。

首先查看登录前的 cookie 信息:

Python:使用 cookie 绕过验证码

注意这里的域名,因为会有很多百度相关的统计。看看你当前系统相关域名的cookies就知道了。

登录后再查看一次 cookie 信息:

Python:使用 cookie 绕过验证码

观察登录前后的 cookie,这里 token 很像是我们要的。

如果分不出来,那就把登录前后不同的cookie和当前系统域名下的cookie都加进去。

获取到想要的cookie信息后,可以使用WebDriver中的add_cookie()方法添加cookie。

接下来的步骤就简单了:



·


进入系统任意页面



·


添加 cookie



·


刷新页面

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get('https://www.showdoc.cc')
time.sleep(1)   # => 等1秒,看看未登录的状态
# 以字典形式传入cookie,name的值对应浏览器cookie中的name列,value值对应cookie中的value列
driver.add_cookie({'name': 'cookie_token', 'value': '073fe7ab...cc1bc1ad'})
# 刷新页面,相当于重新发送请求
# 此时会携带cookie,所以刷新后的页面会以登录后的状态呈现
driver.refresh()    
# 观察一下,然后退出
time.sleep(5)
driver.quit()

上述方式可以绕过登录,但需要注意以下两点:



·


生成 cookie 的账号不能有退出操作,否则 cookie 会失效。



·


注意 cookie 的有效期(Expires/Max-Age列),可能需要定时更新 cookie

Python学习网,有大量免费的
,欢迎大家来学习。

本文转自:https://www.jianshu.com/p/848bb2b3bea9

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享