UNLOCK API
FunCaptcha (Arkose Labs)

FunCaptcha (Arkose Labs)

Як надіслати задачу FunCaptcha (Arkose Labs) до UNLOCK API через createTask або in.php: назви типів задач, усі параметри, об'єкт solution, поля проксі та приклади коду 7 мовами.
Ціна
$0.725 $0.000725 за задачу
Ви надсилаєте
URL сторінки та публічний ключ
Ви отримуєте
Токен для поля перевірки

Огляд і ціна

Назви типу задачі

Використовуйте першу назву, щоб розв'язувати без проксі. Використовуйте другу назву й додайте поля проксі, щоб розв'язувати через власний проксі. Ціна однакова.
FunCaptchaTaskProxylessБез проксі
FunCaptchaTaskЧерез ваш проксі

Об'єкт задачі

type
StringОбов'язковий
Назва типу задачі. Регістр літер не важливий. FunCaptchaTaskProxyless | FunCaptchaTask
websiteURL
StringОбов'язковий
Повна адреса сторінки, на якій показано капчу, що починається з http:// або https://.
websitePublicKey
StringОбов'язковий
Публічний ключ віджета Arkose Labs (pk).
funcaptchaApiJSSubdomain
StringНеобов'язковий
Піддомен Arkose Labs, з якого завантажується сторінка (surl), якщо він не стандартний.
data
StringНеобов'язковий
Об'єкт із додатковими даними, які надсилає сторінка, наприклад blob, у вигляді рядка JSON.
userAgent
StringНеобов'язковий
User-Agent браузера для розв'язання. Надсилайте той самий, коли передаєте відповідь.

Поля, яких тут немає, передаються розв'язувачу без змін.

Поля проксі

Лише для назви типу з проксі. Надішліть або окремі поля, або один рядок 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": "FunCaptchaTaskProxyless",
    "websiteURL": "https://example.com/login",
    "websitePublicKey": "69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC"
  }
}

Об'єкт solution

Повертається в solution, коли status дорівнює ready.
token
String
Токен, який треба надіслати з формою сторінки.
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
}

Приклади коду

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

Та сама задача через класичний запит із формою. res.php повертає відповідь текстом.
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"}

API форм: in.php і res.php