Как правильно отправить запрос на проверку капчи в hcaptcha?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как правильно отправить запрос на проверку капчи в hcaptcha?

Сообщение Anonymous »

Я пытаюсь обойти новую капчу Discord «Drag Drop». Нашёл утилиту для решения этой капчи через opencv, она решает капчу правильно.

Код: Выделить всё

host = "discord.com"
site_key = "a9b5fb07-92ff-493f-86fe-352a2803b3df"
motion = motion_data(headers["User-Agent"], f"https://{host}")
motiondata = motion.get_captcha()

def Get_Captcha(host, sitekey, n, req):
try:
json = {
"sitekey": sitekey,
"v": "d136a52",
"host": host,
"n": n,
'motionData': motiondata,
"hl": "en",
"c": dumps(req)
}

data = urllib.parse.urlencode(json)
r = httpx.post(f"https://api.hcaptcha.com/getcaptcha/{sitekey}",data=data, headers=headers, timeout=4)

return r.json()
except Exception as e:
return False

def Solve_Captcha(host, sitekey, n, req, res):
captcha = {
"request_type": res['request_type'],
"tasklist": res['tasklist']
}

inst = DragDrop(captcha, verbose=False)
solved_captcha = inst.solve()
print(solved_captcha)
print("\n")

json = {
"answers": solved_captcha,
"c": dumps(req),
"job_mode": res['request_type'],
'motionData': motion.check_captcha(),
"n": n,
"serverdomain": host,
"sitekey": sitekey,
"v": "d136a52",
}
print(f"json: {json}\n")

data = urllib.parse.urlencode(json)
r = httpx.post(f"https://api.hcaptcha.com/checkcaptcha/{sitekey}/{res['key']}", data=data, headers=headers, timeout=4)
print(f"r: {r}")

return r.json()

def bypass(sitekey, host):
req = REQ_Data(sitekey=sitekey, host=host)
req["type"] = "hsl"
print(f"req: {req}")
n = N_Data(req["req"])
print(f"ndata: {n}")
res = Get_Captcha(sitekey=sitekey, host=host,n=n, req=req)
print(f"res: {res}\n\n\n\n\n\n")

solved_captcha = Solve_Captcha(sitekey=sitekey, host=host,n=n, req=req, res=res)
print(solved_captcha)

bypass(site_key, host)
При отправке запроса на проверку hcaptcha выдает ошибку «invalid-ответы», но ответы выглядят правильно.
Если ответы были неправильными, я при передаче значения получит другую форму: False
Я пробовал менять генераторы motionData, пробовал вставлять свои собственные, пробовал использовать hsw вместо hsl (не смог найти рабочий ), но ничего не помогло.
Получить вывод_Captcha
Вывод решить_Captcha

Подробнее здесь: https://stackoverflow.com/questions/792 ... o-hcaptcha
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»