NeuroCaptcha

Tipo di task

ARCaptcha

ARCaptchaTaskproxy proprio

Si inviano i parametri della pagina e si riceve un token pronto all’uso, nello stesso formato di risposta di tutti gli altri tipi.

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

1,20 USDper 1000 task

0,0012 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
typestringobbligatorioARCaptchaTask
websiteURLstringobbligatorioURL completo della pagina con il captcha.
websiteKeystringobbligatorioChiave del sito (data-sitekey o il parametro k della richiesta anchor).
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": "ARCaptchaTask",
        "websiteURL": "https://example.com/login",
        "websiteKey": "YOUR_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"]["token"])
        break

Altri tipi di task