NeuroCaptcha

Typ zadania

reCAPTCHA v2

RecaptchaV2Taskwłasne 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.

Z własnym proxy: zadanie jest rozwiązywane przez przekazane proxy, więc token pasuje do adresu IP tego proxy. Dane logowania do proxy są usuwane po rozwiązaniu.

Cena

0,60 USDza 1000 zadań

0,0006 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
typestringwymaganyRecaptchaV2Task
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).
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.
proxyTypestringwymaganyhttp, socks4 lub socks5.
proxyAddressstringwymaganyAdres IP lub host proxy (tylko adresy publiczne).
proxyPortintegerwymaganyPort proxy.
proxyLoginstringopcjonalnyLogin do proxy, jeśli wymaga ono uwierzytelnienia.
proxyPasswordstringopcjonalnyHasło do proxy. Usuwane po rozwiązaniu zadania.

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": "RecaptchaV2Task",
        "websiteURL": "https://example.com/login",
        "websiteKey": "6Le-SITE-KEY",
        "proxyType": "http",
        "proxyAddress": "203.0.113.10",
        "proxyPort": 8080,
        "proxyLogin": "user",
        "proxyPassword": "pass",
    },
}).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ń