UNLOCK API

API для розв'язання Altcha

Надішліть задачу Altcha до API та отримайте відповідь, яку ваш код передає на сторінку. URL сторінки та адреса challenge або JSON challenge. Ви отримуєте: Payload для поля altcha.

Коротко

Ціна за 1000
$1.30 ($0.0013 за задачу)
Тип createTask
AltchaTaskProxyless, AltchaTask
Метод in.php
altcha
Ви надсилаєте
URL сторінки та адреса challenge або JSON challenge
Ви отримуєте
Payload для поля altcha

Де знайти значення

Challenge береться з атрибута challengeurl елемента altcha-widget.

createTask і getTaskResult

Створіть задачу, зачекайте близько 5 секунд, потім перевіряйте результат кожні 5 секунд, доки статус не стане ready. Якщо задача не вдалася, API повертає помилку, а кошти повертаються на баланс.

import time, requests

API = "https://unlock-api.com"
KEY = "YOUR_API_KEY"

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "AltchaTaskProxyless",
      "websiteURL": "https://example.com/login",
      "challengeURL": "https://example.com/altcha/challenge"
    }
}).json()
if task["errorId"]:
    raise SystemExit(task["errorCode"])

for _ in range(60):   # 60 x 5 s = the 5 minute task limit
    time.sleep(5)
    r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if r["errorId"]:
        raise SystemExit(f"{r['errorCode']}: {r.get('errorDescription', '')}")   # failed tasks are refunded
    if r["status"] == "ready":
        print(r["solution"]["token"])
        break
else:
    raise SystemExit("timed out")

in.php і res.php

Та сама задача через класичний API форм. Додайте json=1, щоб отримувати відповіді в JSON; без нього відповіді приходять звичайним текстом, наприклад OK|1001.

curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&method=altcha&challengeURL=CHALLENGE_URL&pageurl=https://example.com/login&json=1"
# {"status":1,"request":"1001"}

curl -s "https://unlock-api.com/res.php?key=YOUR_API_KEY&action=get&id=1001&json=1"
# {"status":0,"request":"CAPCHA_NOT_READY"}  then  {"status":1,"request":"ANSWER"}

Повний довідник API: усі параметри та об'єкт solution