NEWAPIs estándar createTask e in.php. Cambia la dirección y estarás conectado.Ver la documentación de la API
GATESOLVER
Empezar

Integración con herramientas de automatización

El método es el mismo con cualquier herramienta: lee la clave del sitio en la página, obtén la respuesta por API y colócala en la página. Empieza pegando los ejemplos de las herramientas más usadas.

Selenium

Abre la página con Selenium, lee la clave del sitio, obtén el token por API y colócalo en el campo g-recaptcha-response.

  1. 1Leer data-sitekey en la página
  2. 2Crear una tarea con createTask
  3. 3Colocar el token en el campo oculto y enviar el formulario
from selenium import webdriver
from selenium.webdriver.common.by import By
import requests, time

API, KEY = "https://gatesolver.com", "YOUR_API_KEY"
driver = webdriver.Chrome()
driver.get("https://www.google.com/recaptcha/api2/demo")
site_key = driver.find_element(By.CSS_SELECTOR, "[data-sitekey]").get_attribute("data-sitekey")

task = requests.post(f"{API}/createTask", json={"clientKey": KEY, "task": {
    "type": "ReCaptchaV2TaskProxyLess", "websiteURL": driver.current_url, "websiteKey": site_key}}).json()
while True:
    time.sleep(3)
    r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if r.get("status") == "ready":
        break

driver.execute_script("document.getElementById('g-recaptcha-response').innerHTML = arguments[0]", r["solution"]["gRecaptchaResponse"])
driver.find_element(By.ID, "recaptcha-demo-submit").click()

Playwright

En Playwright, lee la clave del sitio de Turnstile y coloca el token recibido en el campo cf-turnstile-response.

  1. 1Leer la clave del sitio
  2. 2Obtener el token por API
  3. 3Colocar el token y enviar
import { chromium } from "playwright";
const API = "https://gatesolver.com", KEY = "YOUR_API_KEY";
const post = (p, b) => fetch(API + p, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify(b) }).then((r) => r.json());

const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto("https://example.com/login");
const siteKey = await page.getAttribute(".cf-turnstile", "data-sitekey");

const { taskId } = await post("/createTask", { clientKey: KEY, task: { type: "AntiTurnstileTaskProxyLess", websiteURL: page.url(), websiteKey: siteKey } });
let r;
do { await page.waitForTimeout(3000); r = await post("/getTaskResult", { clientKey: KEY, taskId }); } while (r.status === "processing");

await page.evaluate((tk) => { document.querySelector("[name=cf-turnstile-response]").value = tk; }, r.solution.token);
await page.click("button[type=submit]");

Puppeteer

Con Puppeteer, obtén el token de reCAPTCHA v3 e inclúyelo en la solicitud que envía el sitio. Usa el mismo valor de pageAction que el sitio.

  1. 1Encontrar la clave del sitio y el valor de action
  2. 2Obtener el token v3 por API
  3. 3Incluir el token en la solicitud
import puppeteer from "puppeteer";
const API = "https://gatesolver.com", KEY = "YOUR_API_KEY";
const post = (p, b) => fetch(API + p, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify(b) }).then((r) => r.json());

const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto("https://example.com/signup");

const { taskId } = await post("/createTask", { clientKey: KEY, task: {
  type: "ReCaptchaV3TaskProxyLess", websiteURL: page.url(), websiteKey: "6Lc...", pageAction: "signup" } });
let r;
do { await new Promise((s) => setTimeout(s, 3000)); r = await post("/getTaskResult", { clientKey: KEY, taskId }); } while (r.status === "processing");

await page.evaluate((tk) => { document.querySelector("#g-recaptcha-response").value = tk; }, r.solution.gRecaptchaResponse);

n8n

En n8n, crea la tarea y obtén el resultado con dos nodos HTTP Request. Usa un nodo Wait para esperar 3 segundos.

  1. 1HTTP Request: createTask
  2. 2Wait: 3 segundos
  3. 3HTTP Request: getTaskResult
Method: POST
URL: https://gatesolver.com/createTask
Body (JSON):
{
  "clientKey": "YOUR_API_KEY",
  "task": { "type": "ReCaptchaV2TaskProxyLess", "websiteURL": "{{ $json.url }}", "websiteKey": "{{ $json.sitekey }}" }
}

Method: POST
URL: https://gatesolver.com/getTaskResult
Body (JSON): { "clientKey": "YOUR_API_KEY", "taskId": "{{ $json.taskId }}" }

Bibliotecas in.php

Las bibliotecas diseñadas para el formato in.php también funcionan con GateSolver cambiando solo la dirección del servidor.

  1. 1Añadir el valor server en la biblioteca
  2. 2Introducir la clave API
  3. 3Llamar como siempre
import time, requests

B = "https://gatesolver.com"
r = requests.get(f"{B}/in.php", params={"key": "YOUR_API_KEY", "method": "userrecaptcha",
    "googlekey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-", "pageurl": "https://www.google.com/recaptcha/api2/demo", "json": 1}).json()
while True:
    time.sleep(3)
    res = requests.get(f"{B}/res.php", params={"key": "YOUR_API_KEY", "action": "get", "id": r["request"], "json": 1}).json()
    if res["request"] != "CAPCHA_NOT_READY":
        break
print(res["request"])