UNLOCK API
KeyCaptcha

KeyCaptcha

Cara menghantar tugas KeyCaptcha ke UNLOCK API dengan createTask atau in.php: nama jenis tugas, setiap parameter, objek solution, medan proxy dan contoh kod dalam 7 bahasa.
Harga
$1.495 $0.001495 setiap tugas
Anda hantar
URL halaman dan empat nilai s_s_c dari halaman
Anda terima
Token untuk medan KeyCaptcha

Ringkasan dan harga

Nama jenis tugas

Gunakan nama pertama untuk menyelesaikan tanpa proxy. Gunakan nama kedua dan tambah medan proxy untuk menyelesaikan melalui proxy anda sendiri. Harganya sama.
KeyCaptchaTaskProxylessTanpa proxy
KeyCaptchaTaskMelalui proxy anda

Objek task

type
StringWajib
Nama jenis tugas. Dipadankan tanpa mengira huruf besar atau kecil. KeyCaptchaTaskProxyless | KeyCaptchaTask
websiteURL
StringWajib
Alamat penuh halaman tempat CAPTCHA dipaparkan, bermula dengan http:// atau https://.
s_s_c_user_id
StringWajib
Nilai s_s_c_user_id daripada halaman.
s_s_c_session_id
StringWajib
Nilai s_s_c_session_id daripada halaman.
s_s_c_web_server_sign
StringWajib
Nilai s_s_c_web_server_sign daripada halaman.
s_s_c_web_server_sign2
StringWajib
Nilai s_s_c_web_server_sign2 daripada halaman.

Medan yang tidak disenaraikan di sini dihantar kepada penyelesai seperti yang dihantar.

Medan proxy

Hanya untuk nama jenis proxy. Hantar sama ada medan berasingan atau satu rentetan proxy.
proxyType
StringWajib
http, https, socks4 atau socks5.
proxyAddress
StringWajib
Alamat IP atau nama host proxy.
proxyPort
IntegerWajib
Port proxy.
proxyLogin
StringPilihan
Nama pengguna proxy, jika proxy memerlukannya.
proxyPassword
StringPilihan
Kata laluan proxy, jika proxy memerlukannya.
proxy
String
Semua medan proxy dalam satu rentetan, contohnya http://user:pass@1.2.3.4:8080.

Menggunakan proxy

Permintaan

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "KeyCaptchaTaskProxyless",
    "websiteURL": "https://example.com/login",
    "s_s_c_user_id": "184015",
    "s_s_c_session_id": "9ff29e0176e78eb7ba59314f92dbac1b",
    "s_s_c_web_server_sign": "964635241a3e5e76980f2572e5f63452",
    "s_s_c_web_server_sign2": "3ca802a38ffc5831fa293ac2819b1204"
  }
}

Objek solution

Dipulangkan dalam solution apabila status ialah ready.
token
String
Token untuk dihantar bersama borang halaman.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "token": "d58e5a5bb1e2f58a3b2e6c6d6f8a1b2c|..."
  },
  "cost": "0.001495",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Contoh kod

import time, requests

API = "https://unlock-api.com"
KEY = "YOUR_API_KEY"

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "KeyCaptchaTaskProxyless",
      "websiteURL": "https://example.com/login",
      "s_s_c_user_id": "184015",
      "s_s_c_session_id": "9ff29e0176e78eb7ba59314f92dbac1b",
      "s_s_c_web_server_sign": "964635241a3e5e76980f2572e5f63452",
      "s_s_c_web_server_sign2": "3ca802a38ffc5831fa293ac2819b1204"
    }
}).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")

Kaedah borang in.php

Tugas yang sama dengan permintaan borang klasik. res.php memulangkan jawapan sebagai teks.
in.php, res.php
curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&method=keycaptcha&s_s_c_user_id=ID&s_s_c_session_id=SID&s_s_c_web_server_sign=S1&s_s_c_web_server_sign2=S2&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 borang: in.php dan res.php