UNLOCK API
reCAPTCHA v3

reCAPTCHA v3

Jak wysłać zadanie reCAPTCHA v3 do UNLOCK API przez createTask lub in.php: nazwy typów zadań, wszystkie parametry, obiekt solution, pola proxy i przykłady kodu w 7 językach.
Cena
$0.55 $0.00055 za zadanie
Wysyłasz
URL strony, klucz witryny, akcja strony i minimalny score
Otrzymujesz
Token dla g-recaptcha-response

Przegląd i cena

Nazwy typu zadania

Użyj pierwszej nazwy, aby rozwiązywać bez proxy. Użyj drugiej nazwy i dodaj pola proxy, aby rozwiązywać przez własne proxy. Cena jest taka sama.
RecaptchaV3TaskProxylessBez proxy
RecaptchaV3TaskPrzez Twoje proxy

Przyjmowane również: RecaptchaV3Enterprise, RecaptchaV3EnterpriseTaskProxyless, RecaptchaV3EnterpriseTask

Obiekt zadania

type
StringWymagane
Nazwa typu zadania. Wielkość liter nie ma znaczenia. RecaptchaV3TaskProxyless | RecaptchaV3Task
websiteURL
StringWymagane
Pełny adres strony, na której pojawia się CAPTCHA, zaczynający się od http:// lub https://.
websiteKey
StringWymagane
Klucz witryny widżetu CAPTCHA, do znalezienia w źródle strony (na przykład data-sitekey).
pageAction
StringOpcjonalne
Nazwa akcji, którą strona wysyła z execute, na przykład login.
minScore
NumberOpcjonalne
Wymagany wynik, od 0.1 do 0.9.
isEnterprise
BooleanOpcjonalne
true dla reCAPTCHA v3 Enterprise.
apiDomain
StringOpcjonalne
Domena, z której ładuje się widżet: google.com lub recaptcha.net.

Pola niewymienione tutaj są przekazywane do rozwiązującego bez zmian.

Pola proxy

Tylko dla nazwy typu z proxy. Wyślij osobne pola albo jeden ciąg proxy.
proxyType
StringWymagane
http, https, socks4 lub socks5.
proxyAddress
StringWymagane
Adres IP lub nazwa hosta proxy.
proxyPort
IntegerWymagane
Port proxy.
proxyLogin
StringOpcjonalne
Nazwa użytkownika proxy, jeśli proxy jej wymaga.
proxyPassword
StringOpcjonalne
Hasło proxy, jeśli proxy go wymaga.
proxy
String
Wszystkie pola proxy w jednym ciągu, na przykład http://user:pass@1.2.3.4:8080.

Korzystanie z proxy

Żądanie

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "RecaptchaV3TaskProxyless",
    "websiteURL": "https://example.com/login",
    "websiteKey": "6LcR_RsTAAAAAFJR_5ZdbQd0SMxL7yIDmSXH1-lo",
    "pageAction": "login",
    "minScore": 0.7
  }
}

Obiekt solution

Zwracany w solution, gdy status ma wartość ready.
gRecaptchaResponse
String
Token. Wstaw go do pola g-recaptcha-response (lub h-captcha-response dla hCaptcha) albo przekaż do callbacku strony.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "gRecaptchaResponse": "03AGdBq27hXmT6Rq9k..."
  },
  "cost": "0.00055",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Przykłady kodu

import time, requests

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

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "RecaptchaV3TaskProxyless",
      "websiteURL": "https://example.com/login",
      "websiteKey": "6LcR_RsTAAAAAFJR_5ZdbQd0SMxL7yIDmSXH1-lo",
      "pageAction": "login",
      "minScore": 0.7
    }
}).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"]["gRecaptchaResponse"])
        break
else:
    raise SystemExit("timed out")

Metoda formularza in.php

To samo zadanie przez klasyczne żądanie formularza. res.php zwraca odpowiedź jako tekst.
in.php, res.php
curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&method=userrecaptcha&version=v3&action=login&min_score=0.7&googlekey=SITE_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 formularzy: in.php i res.php