• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python:使用Cookie绕过验证码

python 搞java代码 3年前 (2022-05-21) 18次浏览 已收录 0个评论

使用 cookie 绕过验证码这种方式前提是必须要有长时间保存 cookie 的功能,比如登录时会有勾选项"保存本次登录信息","下次自动登录","记住我"等。

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

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

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

这里注意 domain, 因为会有很多百度相关的统计。只看你当前系统相关域名的 cookie。

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

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

如果你分辨不清楚,那就把登录前后有差异,并且是当前系统域名下的 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()
www#gaodaima.com来源gaodai.ma#com搞#代!码网搞代码

以上面的方式就可以实现绕过登录,不过这要注意以下两点:

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

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

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

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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python:使用Cookie绕过验证码

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址