NeuroCaptcha

Typ zadania

reCAPTCHA v2 Enterprise

RecaptchaV2EnterpriseTaskProxylessbez proxy

reCAPTCHA v2 to pole wyboru „Nie jestem robotem” i jego niewidoczny wariant. API zwraca token gRecaptchaResponse, który wysyła się razem z formularzem strony.

Wariant Enterprise: witryna ładuje enterprise.js i może przekazywać dodatkowe dane w enterprisePayload – należy je wysłać bez zmian.

Bez proxy: rozwiązujemy z własnej infrastruktury. Najlepsze, gdy docelowa witryna nie wiąże tokenu z adresem IP.

Cena

1,50 USDza 1000 zadań

0,0015 USD za zadanie

Uzyskaj klucz API

Metryki na żywo, 24 h

Metryki na żywo dla tego typu pojawią się na stronie statusu po starcie.

Parametry zadania

ParametrTypwymaganyParametry zadania
typestringwymaganyRecaptchaV2EnterpriseTaskProxyless
websiteURLstringwymaganyPełny URL strony z captcha.
websiteKeystringwymaganyKlucz witryny (data-sitekey lub parametr k żądania anchor).
isInvisiblebooleanopcjonalnytrue dla niewidocznej reCAPTCHA v2 (bez pola wyboru).
recaptchaDataSValuestringopcjonalnyWartość data-s, jeśli strona jej używa (niektóre usługi Google).
enterprisePayloadobjectopcjonalnyDodatkowe parametry Enterprise, na przykład s, jako obiekt.
apiDomainstringopcjonalnyDomena, z której ładuje się widżet: google.com lub recaptcha.net.
userAgentstringopcjonalnyUser-Agent używany do rozwiązania; przy wysyłaniu tokenu należy użyć tego samego.
cookiesstringopcjonalnyPliki cookie docelowej witryny w formacie key1=value1; key2=value2.

Przykład

import time
import requests

API = "https://"
KEY = "YOUR_API_KEY"

# 1. create a task: the price is held, not charged
task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
        "type": "RecaptchaV2EnterpriseTaskProxyless",
        "websiteURL": "https://example.com/login",
        "websiteKey": "6Le-SITE-KEY",
    },
}).json()
if task["errorId"]:
    raise RuntimeError(task["errorCode"])

# 2. poll the result (or pass "callbackUrl" and get a signed webhook)
while True:
    time.sleep(3)
    res = requests.post(f"{API}/getTaskResult",
                        json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if res["errorId"]:
        raise RuntimeError(res["errorCode"])
    if res["status"] == "ready":
        print(res["solution"]["gRecaptchaResponse"])
        break

Inne typy zadań