UNLOCK API
Capy Puzzle

Capy Puzzle

So senden Sie eine Capy Puzzle-Aufgabe mit createTask oder in.php an UNLOCK API: Namen der Aufgabentypen, alle Parameter, das solution-Objekt, Proxy-Felder und Codebeispiele in 7 Sprachen.
Preis
$1.495 $0.001495 pro Aufgabe
Sie senden
Seiten-URL und der Capy-Site-Key
Sie erhalten
Werte für captchakey, challengekey und answer

Überblick und Preis

Namen der Aufgabentypen

Verwenden Sie den ersten Namen, um ohne Proxy zu lösen. Verwenden Sie den zweiten Namen und fügen Sie die Proxy-Felder hinzu, um über Ihren eigenen Proxy zu lösen. Der Preis ist gleich.
CapyTaskProxylessOhne Proxy
CapyTaskÜber Ihren Proxy

Aufgabenobjekt

type
StringPflicht
Name des Aufgabentyps. Groß- und Kleinschreibung spielt keine Rolle. CapyTaskProxyless | CapyTask
websiteURL
StringPflicht
Vollständige Adresse der Seite, auf der das CAPTCHA erscheint, beginnend mit http:// oder https://.
websiteKey
StringPflicht
Der Site Key des CAPTCHA-Widgets, zu finden im Seitenquelltext (zum Beispiel data-sitekey).
apiServer
StringOptional
Adresse des API-Servers, den das Widget verwendet, aus dem Seitenquelltext.
userAgent
StringOptional
Browser-User-Agent, der beim Lösen verwendet wird. Senden Sie denselben, wenn Sie die Antwort übermitteln.

Hier nicht aufgeführte Felder werden unverändert an den Solver weitergegeben.

Proxy-Felder

Nur für den Typnamen mit Proxy. Senden Sie entweder die einzelnen Felder oder einen proxy-String.
proxyType
StringPflicht
http, https, socks4 oder socks5.
proxyAddress
StringPflicht
IP-Adresse oder Hostname des Proxys.
proxyPort
IntegerPflicht
Port des Proxys.
proxyLogin
StringOptional
Benutzername des Proxys, falls nötig.
proxyPassword
StringOptional
Passwort des Proxys, falls nötig.
proxy
String
Alle Proxy-Felder in einem String, zum Beispiel http://user:pass@1.2.3.4:8080.

Proxy verwenden

Anfrage

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "CapyTaskProxyless",
    "websiteURL": "https://example.com/login",
    "websiteKey": "6LcR_RsTAAAAAFJR_5ZdbQd0SMxL7yIDmSXH1-lo"
  }
}

solution-Objekt

Wird in solution zurückgegeben, wenn status ready ist.
captchakey
String
Zu übermittelnder Capy captcha key.
challengekey
String
Zu übermittelnder Capy challenge key.
answer
String
Die zu übermittelnde Antwort.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "captchakey": "PUZZLE_Abc1dEFghIJKLM2no34P56q7rStu8v",
    "challengekey": "Pt3dqiJ8Kq6mRzqT1R5cJ1jJm2m6m9eP",
    "answer": "0xax8ex0xax84x0xkx7qx0xux7qx0x..."
  },
  "cost": "0.001495",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Codebeispiele

import time, requests

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

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "CapyTaskProxyless",
      "websiteURL": "https://example.com/login",
      "websiteKey": "6LcR_RsTAAAAAFJR_5ZdbQd0SMxL7yIDmSXH1-lo"
    }
}).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"])
        break
else:
    raise SystemExit("timed out")

in.php-Formularmethode

Dieselbe Aufgabe mit der klassischen Formularanfrage. res.php gibt die Antwort als Text zurück.
in.php, res.php
curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&method=capy&captchakey=SITE_KEY&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"}

Formular-API: in.php und res.php