我正在使用反验证码服务来尝试绕过Google的ReCAPTCHA。
这段代码的结果是:
{'errorId': 0, 'status': 'ready', 'solution': {'gRecaptchaResponse': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'}, 'cost': '0.00...', 'ip': '127.0.0.1', 'createTime': 9999999999, 'endTime': 9999999999, 'solveCount': 0, 'taskId': 11111111}
使用gRecaptchaResponse
键,我可以以某种方式绕过验证码,这是我从API文档中了解的内容。
我在https://www.google.com/recaptcha/api2/demo上尝试过网络分析,但是没有获得带有gRecaptchaResponse
属性的GET-Request-Method。因此,我不知道如何使它正常工作,因为我不知道在哪里或如何使用从验证码旁路服务获得的gRecaptchaResponse
密钥。
但是有些非主题:这怎么可能起作用?我的意思是Google通常会在每次尝试(F5)验证码时都提供一个新的验证码令牌,用于识别您的身份。因此,对我来说,将一个令牌引用到一个gRecaptchaResponse
键上是合乎逻辑的。因此,如果其他人为您找到了解决方案,他可以给您gRecaptchaResponse
结果键,但是该键如何适用于每个令牌?
已经在此致以最诚挚的问候!
def solveCaptcha():
ANTICAPTCHA_KEY = "11133331111333777"
result = NoCaptchaTaskProxyless.NoCaptchaTaskProxyless(
anticaptcha_key=ANTICAPTCHA_KEY
).captcha_handler(
websiteURL="https://www.google.com/recaptcha/api2/demo",
websiteKey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
)
print(result)
solveCaptcha()
答案 0 :(得分:0)
我想您正在通过Python(Selenium或类似工具)使用网络驱动。 您应该从Anti-Captcha帐户获得ANTICAPTCHA_KEY。它将API的访问权限授予您的反验证码积分。
我建议您将ANTICAPTCHA_KEY添加到您的环境中。在shell中执行以下命令,或将该行添加到您的bash文件(.bashrc或类似文件)
export ANTICAPTCHA_KEY="your_key"
您的代码可能是这样的:
import os
from python3_anticaptcha import NoCaptchaTaskProxyless
from selenium import webdriver
ANTICAPTCHA_KEY = os.environ["ANTICAPTCHA_KEY"]
def solveCaptcha():
result = NoCaptchaTaskProxyless.NoCaptchaTaskProxyless(
anticaptcha_key=ANTICAPTCHA_KEY
).captcha_handler(
websiteURL="https://www.google.com/recaptcha/api2/demo",
websiteKey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
)
return result.get("solution").get("gRecaptchaResponse")
首先,设置webdriver,获取页面并执行将响应分配给变量的功能。
driver = webdriver.Firefox()
driver.get("https://www.google.com/recaptcha/api2/demo")
captcha_response = solveCaptcha()
您可以使用以下脚本使grecaptcha响应框可见,以便查看其是否正常运行。
driver.execute_script(
"arguments[0].style.display='inline'",
driver.find_element_by_xpath(
'//*[@id="g-recaptcha-response"]'
),
)
然后执行脚本以将响应插入文本框:
driver.execute_script(
'document.getElementById("g-recaptcha-response").innerHTML = "%s"'
% captcha_response
)
然后按提交按钮,您将看到成功。