UNLOCK API
DataDome

DataDome

Cara menghantar tugas DataDome ke UNLOCK API dengan createTask atau in.php: nama jenis tugas, setiap parameter, objek solution, medan proxy dan contoh kod dalam 7 bahasa.
Harga
$0.725 $0.000725 setiap tugas
Anda hantar
URL halaman, alamat captcha dari respons yang disekat, user agent anda dan proxy
Anda terima
Kuki datadome

Ringkasan dan harga

Nama jenis tugas

Jenis ini sentiasa berjalan melalui proxy anda, jadi medan proxy wajib.
DataDomeSliderTaskMelalui proxy anda

Objek task

type
StringWajib
Nama jenis tugas. Dipadankan tanpa mengira huruf besar atau kecil. DataDomeSliderTask
websiteURL
StringWajib
Alamat penuh halaman tempat CAPTCHA dipaparkan, bermula dengan http:// atau https://.
captchaUrl
StringWajib
Alamat penuh frame CAPTCHA DataDome (geo.captcha-delivery.com/...).
userAgent
StringWajib
User-Agent pelayar yang digunakan semasa menyelesaikan. Hantar yang sama apabila anda menghantar jawapan.

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

Medan proxy

Jenis ini sentiasa berjalan melalui proxy anda, jadi medan proxy wajib.
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": "DataDomeSliderTask",
    "websiteURL": "https://example.com/login",
    "captchaUrl": "https://geo.captcha-delivery.com/captcha/?initialCid=...",
    "userAgent": "Mozilla/5.0 ...",
    "proxyType": "http",
    "proxyAddress": "1.2.3.4",
    "proxyPort": 8080
  }
}

Objek solution

Dipulangkan dalam solution apabila status ialah ready.
cookie
String
Cookie untuk ditetapkan sebelum anda memuatkan halaman semula.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "cookie": "datadome=6BvxqELMoorFNoo7GT1...; Path=/; Secure; SameSite=Lax"
  },
  "cost": "0.000725",
  "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": "DataDomeSliderTask",
      "websiteURL": "https://example.com/login",
      "captchaUrl": "https://geo.captcha-delivery.com/captcha/?initialCid=...",
      "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"]["cookie"])
        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=datadome&captcha_url=CAPTCHA_URL&pageurl=https://example.com/login&userAgent=UA&proxy=login:pass@1.2.3.4:8080&proxytype=HTTP&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