Решить капчу HCaptcha
Разработчики hCaptcha называют свою капчу "a drop-in replacement for Recaptcha". Мы применили тот же принцип в нашем API, поэтому свойства в API те же самые, как и в RecaptchaV2TaskProxyless, кроме свойства "type".
Важное замечание по поводу значения User-Agent. Ранее для заданий можно было указывать свой собственный User-Agent, но это изменилось. Вместо этого мы предоставляем рабочий user-agent, который необходимо использовать для обхода платной версии Hcaptcha. Это было сделано потому, что в настоящее время практически невозможно эмулировать чужой user-agent в другой платформе, например, user-agent Chrome в Firefox. Браузеры имеют большое количество вторичных артефактов помимо navigator.userAgent, которые принадлежат конкретно той или иной платформе.
Объект задачи
Свойство | Тип | Требуется | Назначение | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
type | Строка | Да | HCaptchaTaskProxyless | ||||||||||||||||||||||||
websiteURL | Строка | Да | Адрес целевой страницы. Может находиться в любом месте сайта, в том числе в закрытом для подписчиков разделе. Наши работники не посещают сайт, а вместо этого эмулируют посещение страницы. | ||||||||||||||||||||||||
websiteKey | Строка | Да | ключ сайта hCaptcha | ||||||||||||||||||||||||
Устарело. Вместо этого используйте User-Agent нашего работника, который возвращается в методе "getTaskResult". | |||||||||||||||||||||||||||
isInvisible | Boolean | Нет | Укажите, если h-капча невидимая. Это отобразит правильный виджет рекапчи у наших работников. | ||||||||||||||||||||||||
isEnterprise | Boolean | Нет | Используйте этот параметр, если вы хотите, чтобы ваша капча решалась работниками с наивысшей оценкой Hcaptcha. Имейте ввиду, что стоимость капчи в этом случае увеличивается в три раза. | ||||||||||||||||||||||||
enterprisePayload | Объект | Нет | Дополнительные параметры для Enterprise версии.
|
Пример запроса
#pip3 install anticaptchaofficial
from anticaptchaofficial.hcaptchaproxyless import *
solver = hCaptchaProxyless()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://website.com")
solver.set_website_key("SITE_KEY")
# tell API that Hcaptcha is invisible
#solver.set_is_invisible(1)
# tell API that Hcaptcha is Enterprise
#solver.set_is_enterprise(1)
# set here parameters like rqdata, sentry, apiEndpoint, endpoint, reportapi, assethost, imghost
#solver.set_enterprise_payload({
# "rqdata": "rq data value from target website",
# "sentry": True
#})
# Specify softId to earn 10% commission with your app.
# Get your softId here: https://anti-captcha.com/clients/tools/devcenter
solver.set_soft_id(0)
g_response = solver.solve_and_return_solution()
if g_response != 0:
print("g-response: "+g_response)
print("user-agent, use it to post the form: ", solver.get_user_agent())
print("respkey, if any: ", solver.get_respkey())
else:
print("task finished with error "+solver.error_code)
Объект решения задачи
Свойство | Тип | Назначение |
---|---|---|
gRecaptchaResponse | Строка | Строка токена, которая требуется для отправки формы на целевом сайте. |
respKey | Строка | Результат функции "window.hcaptcha.getRespKey()", когда она доступна. Некоторые сайты используют это значение для дополнительных проверок. |
userAgent | Строка | User-Agent браузера работника. Используйте его, когда отправляете форму с токеном. |
Пример ответа
{
"errorId":0,
"status":"ready",
"solution":
{
"gRecaptchaResponse":"3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3......",
"respKey":"E0_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoiQk5vb1JuZ0FPSHBCM2EyWURSSC......",
"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0"
},
"cost":"0.001500",
"ip":"46.98.54.221",
"createTime":1472205564,
"endTime":1472205570,
"solveCount":"0"
}