下面这个是用于获取 cookie 的代码,还有添加 cookie 的代码
#获取cookie,用于绕过滑块验证码 def get_cookie(self): self.driver.get(env_url) time.sleep(30) cookie = self.driver.get_cookies() with open("../config/cookie.yml","w") as f: yaml.safe_dump(cookie,f) #添加cookie,用于绕过滑块验证码 def add_cookie(self,url): self.driver.get(env_url) cookies = yaml.safe_load(open("../config/cookie.yml")) for cookie in cookies: self.driver.add_cookie(cookie) self.driver.get(url) time.sleep(10)
url = 'http://xxx/supply/supplyhomeurl' driver = webdriver.chrome() driver.maximize_window() b = addbasicpolicypage(driver) # b.get_cookie() b.wait(2) b.add_cookie(b.url) b.add_basic_policy() b.quit()
我们的平台有多个系统,登录的时候会有滑块验证码,我想通过 cookie 绕过验证码,在第一个系统使用时正常能绕过
在另外一个系统使用这种方式就出现了问题文章源自玩技e族-https://www.playezu.com/704475.html
文章源自玩技e族-https://www.playezu.com/704475.html
风险通知:非原创文章均为网络投稿真实性无法判断,侵权联系
免责声明:内容来自用户上传发布或新闻客户端自媒体,切勿!切勿!切勿!添加凯发k8国际官网首页入口的联系方式以免受骗。
10f
楼主的做法是将 token 先存到 cookie 里,前端能拿到 token 的情况下就认为是登陆了,就不会跳转到验证页面,最后说缺了 ttid 字段,也是接口要用到,前端取不到这个字段就判断当前是处于未登陆状态,就跳转到验证页面。冷知识,其实部分公司会将用户信息字段放到 token 里,你去解析 token 可能会有惊喜
9f
实现原理能说下吗?活着看看实际的代码?add_basic_policy 这个?
8f
用 cv2 算一下距离,滑一下就行了
7f
不是,系统有个角色权限进行配置的
6f
是通过获取到 cookie,不用输入验证码,直接登录
5f
看了下 console 是有报错,原来是报错的这个系统,除了要获取登录账号的 cookie,还有获取 ttid,是我们系统的一个识别登录用户身份的一个 id,看来通过 cookie 绕过不太可行,我只能取找开发把滑块验证码注释了
4f
多个系统的 cookies 是共用的吗
3f
你的绕过验证码的意思是,不显示验证码,还是显示验证码,即使不输入验证码或是输入错误的也能登录?
2f
看下 console 有没有报错,也问下开发是不是有 cookies 之外的鉴权机制?
1f
是这种滑块验证码