NeuroCaptcha

Tipo de tarea

GeeTest v3

GeeTestTaskproxy propio

Envíe los parámetros de la página y reciba un token listo para usar, con el mismo formato de respuesta que los demás tipos.

Con su proxy: la tarea se resuelve a través del proxy que indique, por lo que el token coincide con su IP. Las credenciales del proxy se eliminan tras la resolución.

Precio

0,90 US$por 1000 tareas

0,0009 US$ por tarea

Obtener clave de API

Métricas en vivo, 24 h

Las métricas en vivo de este tipo aparecerán en la página de estado tras el lanzamiento.

Parámetros de la tarea

ParámetroTipoobligatorioParámetros de la tarea
typestringobligatorioGeeTestTask
websiteURLstringobligatorioURL completa de la página con el captcha.
gtstringobligatoriogt de GeeTest: el id público del sitio en initGeetest.
challengestringobligatorioUn challenge de GeeTest nuevo para esta tarea.
userAgentstringopcionalUser-Agent con el que se resuelve; use el mismo al enviar el token.
cookiesstringopcionalCookies del sitio de destino en formato key1=value1; key2=value2.
proxyTypestringobligatoriohttp, socks4 o socks5.
proxyAddressstringobligatorioDirección IP o host del proxy (solo direcciones públicas).
proxyPortintegerobligatorioPuerto del proxy.
proxyLoginstringopcionalUsuario del proxy, si requiere autenticación.
proxyPasswordstringopcionalContraseña del proxy. Se elimina tras resolver la tarea.

Ejemplo

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": "GeeTestTask",
        "websiteURL": "https://example.com/login",
        "gt": "81388ea1fc187e0c335c0a8907ff2625",
        "challenge": "2e2f0f65240058b683cb6ea21c303eea",
        "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"])
        break

Otros tipos de tareas