NeuroCaptcha

Tipo di task

reCAPTCHA v2

RecaptchaV2Taskproxy proprio

reCAPTCHA v2 è la casella «Non sono un robot» e la sua variante invisibile. L’API restituisce un token gRecaptchaResponse da inviare insieme al modulo della pagina.

Con proxy proprio: il task viene risolto tramite il proxy indicato, quindi il token corrisponde all’IP del proxy. Le credenziali del proxy vengono eliminate dopo la risoluzione.

Prezzo

0,60 USDper 1000 task

0,0006 USD per task

Ottieni la chiave API

Metriche in tempo reale, 24 h

Le metriche in tempo reale per questo tipo compariranno sulla pagina di stato dopo il lancio.

Parametri del task

ParametroTipoobbligatorioParametri del task
typestringobbligatorioRecaptchaV2Task
websiteURLstringobbligatorioURL completo della pagina con il captcha.
websiteKeystringobbligatorioChiave del sito (data-sitekey o il parametro k della richiesta anchor).
isInvisiblebooleanfacoltativotrue per il reCAPTCHA v2 invisibile (senza casella).
recaptchaDataSValuestringfacoltativoValore di data-s, se la pagina lo usa (alcuni servizi Google).
userAgentstringfacoltativoUser-Agent con cui risolvere; usare lo stesso quando si invia il token.
cookiesstringfacoltativoCookie del sito di destinazione nel formato key1=value1; key2=value2.
proxyTypestringobbligatoriohttp, socks4 o socks5.
proxyAddressstringobbligatorioIndirizzo IP o host del proxy (solo indirizzi pubblici).
proxyPortintegerobbligatorioPorta del proxy.
proxyLoginstringfacoltativoLogin del proxy, se richiede l’autenticazione.
proxyPasswordstringfacoltativoPassword del proxy. Viene eliminata dopo la risoluzione del task.

Esempio

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

Altri tipi di task