UNLOCK API
FunCaptcha (Arkose Labs)

FunCaptcha (Arkose Labs)

So senden Sie eine FunCaptcha (Arkose Labs)-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
$0.725 $0.000725 pro Aufgabe
Sie senden
Seiten-URL und der Public Key
Sie erhalten
Token für das Verifizierungsfeld

Ü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.
FunCaptchaTaskProxylessOhne Proxy
FunCaptchaTaskÜber Ihren Proxy

Aufgabenobjekt

type
StringPflicht
Name des Aufgabentyps. Groß- und Kleinschreibung spielt keine Rolle. FunCaptchaTaskProxyless | FunCaptchaTask
websiteURL
StringPflicht
Vollständige Adresse der Seite, auf der das CAPTCHA erscheint, beginnend mit http:// oder https://.
websitePublicKey
StringPflicht
Der Public Key des Arkose-Labs-Widgets (pk).
funcaptchaApiJSSubdomain
StringOptional
Die Arkose-Labs-Subdomain, von der die Seite lädt (surl), falls es nicht die Standard-Subdomain ist.
data
StringOptional
Zusätzliches Datenobjekt, das die Seite sendet, etwa blob, als JSON-String.
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": "FunCaptchaTaskProxyless",
    "websiteURL": "https://example.com/login",
    "websitePublicKey": "69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC"
  }
}

solution-Objekt

Wird in solution zurückgegeben, wenn status ready ist.
token
String
Das Token, das mit dem Formular der Seite übermittelt wird.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "token": "3084f4a302b176cd7.96368058|r=ap-southeast-1|..."
  },
  "cost": "0.000725",
  "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": "FunCaptchaTaskProxyless",
      "websiteURL": "https://example.com/login",
      "websitePublicKey": "69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC"
    }
}).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-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=funcaptcha&publickey=PUBLIC_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