UNLOCK API
VK Captcha

VK Captcha

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

Огляд і ціна

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

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

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

type
StringОбов'язковий
Назва типу задачі. Регістр літер не важливий. VKCaptchaTaskProxyless | VKCaptchaTask
websiteURL
StringОбов'язковий
Повна адреса сторінки, на якій показано капчу, що починається з http:// або https://.
redirectUri
StringОбов'язковий
redirect_uri із запиту капчі VK.
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": "VKCaptchaTaskProxyless",
    "websiteURL": "https://example.com/login",
    "redirectUri": "https://id.vk.com/not_robot_captcha?...",
    "userAgent": "Mozilla/5.0 ...",
    "proxyType": "http",
    "proxyAddress": "1.2.3.4",
    "proxyPort": 8080
  }
}

Об'єкт solution

Повертається в solution, коли status дорівнює ready.
token
String
Токен, який треба надіслати з формою сторінки.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "token": "4a2b5e8d1c3f6a9b..."
  },
  "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": "VKCaptchaTaskProxyless",
      "websiteURL": "https://example.com/login",
      "redirectUri": "https://id.vk.com/not_robot_captcha?...",
      "userAgent": "Mozilla/5.0 ...",
      "proxyType": "http",
      "proxyAddress": "1.2.3.4",
      "proxyPort": 8080
    }
}).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=vkcaptcha&redirectUri=REDIRECT_URI&userAgent=UA&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