UNLOCK API
Altcha

Altcha

كيف ترسل مهمة Altcha إلى UNLOCK API عبر createTask أو in.php: أسماء نوع المهمة، وكل معامل، وكائن solution، وحقول البروكسي، وأمثلة كود بـ 7 لغات.
السعر
$1.30 $0.0013 لكل مهمة
ترسل
رابط الصفحة وعنوان التحدي أو JSON التحدي
تستلم
حمولة لحقل altcha

نظرة عامة والسعر

أسماء نوع المهمة

استخدم الاسم الأول للحل بدون بروكسي. استخدم الاسم الثاني وأضف حقول البروكسي للحل عبر البروكسي الخاص بك. السعر نفسه.
AltchaTaskProxylessبدون بروكسي
AltchaTaskعبر البروكسي الخاص بك

كائن المهمة

type
Stringمطلوب
اسم نوع المهمة. يُطابق بأي حالة أحرف. AltchaTaskProxyless | AltchaTask
websiteURL
Stringمطلوب
العنوان الكامل للصفحة التي تظهر فيها الكابتشا، يبدأ بـ http:// أو https://.
challengeURL
Stringاختياري
العنوان الذي تُحمّل منه الصفحة تحدي Altcha. أرسل هذا الحقل أو challengeJSON.
challengeJSON
Stringاختياري
JSON تحدي Altcha كنص. أرسل هذا الحقل أو challengeURL.

الحقول غير المذكورة هنا تُمرر إلى الحلّال كما أُرسلت.

حقول البروكسي

لاسم النوع الذي يستخدم البروكسي فقط. أرسل الحقول المنفصلة أو سلسلة proxy واحدة.
proxyType
Stringمطلوب
http أو https أو socks4 أو socks5.
proxyAddress
Stringمطلوب
عنوان IP للبروكسي أو اسم المضيف.
proxyPort
Integerمطلوب
منفذ البروكسي.
proxyLogin
Stringاختياري
اسم مستخدم البروكسي، إن كان البروكسي يتطلبه.
proxyPassword
Stringاختياري
كلمة مرور البروكسي، إن كان البروكسي يتطلبها.
proxy
String
كل حقول البروكسي في سلسلة واحدة، مثلًا http://user:pass@1.2.3.4:8080.

استخدام البروكسي

الطلب

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "AltchaTaskProxyless",
    "websiteURL": "https://example.com/login",
    "challengeURL": "https://example.com/altcha/challenge"
  }
}

كائن solution

يُرجع في solution عندما تكون status هي ready.
token
String
الرمز المطلوب إرساله مع نموذج الصفحة.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "token": "eyJhbGdvcml0aG0iOiJTSEEtMjU2Ii..."
  },
  "cost": "0.0013",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

أمثلة الكود

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 الإجابة كنص.
in.php, res.php
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 النماذج: in.php وres.php