UNLOCK API

API de résolution Altcha

Envoyez une tâche Altcha à l'API et recevez la réponse que votre code soumet à la page. URL de la page et adresse du challenge ou JSON du challenge. Vous recevez : Payload pour le champ altcha.

En bref

Prix pour 1,000
$1.30 ($0.0013 par tâche)
Type createTask
AltchaTaskProxyless, AltchaTask
Méthode in.php
altcha
Vous envoyez
URL de la page et adresse du challenge ou JSON du challenge
Vous recevez
Payload pour le champ altcha

Où trouver les valeurs

Le challenge provient de l'attribut challengeurl de l'élément altcha-widget.

createTask et getTaskResult

Créez la tâche, attendez environ 5 secondes, puis vérifiez le résultat toutes les 5 secondes jusqu'au statut ready. Si la tâche échoue, l'API renvoie une erreur et le montant revient sur votre solde.

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 et res.php

La même tâche avec l'API classique par formulaire. Ajoutez json=1 pour obtenir des réponses JSON ; sinon les réponses sont en texte brut, par exemple 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"}

Référence complète de l'API : tous les paramètres et l'objet solution