vvanglro / cf-clearance

Purpose To make a cloudflare v2 challenge pass successfully, Can be use cf_clearance bypassed by cloudflare, However, with the cf_clearance, make sure you use the same IP and UA as when you got it.
https://github.com/vvanglro/cf_clearance
353 stars 58 forks source link

请问大佬,有没有使用selenium获取某个网站的cf_clearance的方法? #28

Closed yeyuchen198 closed 1 year ago

yeyuchen198 commented 1 year ago

我使用原版的selenium或者undetected_chromedriver,或者selenium_stealth 发现都不行通过CF5秒盾。

启动driver后,在第1个标签页,无论是手动验证,还是用driver执行脚本进行点击都不行, 但是!我有个发现,手动新建1个标签页,在这个标签页进行CF验证,无论是手动点击,还是执行js: document.querySelector("#cf-stage > div.ctp-checkbox-container > label > span").click() 都可以通过! 似乎当前标签页不在driver的控制之下,就能点击验证通过 CF有点神奇,好像可以判断我当前的标签页是否受driver控制。 新建标签页后,driver.switch_to.window(),跳转到该标签页(窗口),这时就会被判定为driver控制,手工点击验证重试无数次都不会通过的

yeyuchen198 commented 1 year ago

我上面说的不准确,用selenium_stealth,对于某些节点,是可以使用一些小技巧来执行js来验证通过的,但是我发现多试几次之后,发现验证就不通过了,似乎是IP会被标记,然后进行拦截了,加大验证通过难度,CF盾好复杂。大佬们是不是直接逆向js来破解?

vvanglro commented 1 year ago

是的, 请求太频繁的话ip也会被cloudflare拦截. 可以使用此库来获取cookie、ua, 后续请求添加了cookie和ua和相同的代理即可绕过.