NEWStandard-APIs createTask und in.php. Ändern Sie die Adresse und Sie sind verbunden.API-Dokumentation ansehen
GATESOLVER

Integration von Automatisierungstools

Das Vorgehen ist bei jedem Tool gleich: Sitekey auf der Seite auslesen, Antwort per API abrufen und in die Seite einsetzen. Starten Sie mit unseren Beispielen für gängige Tools.

Selenium

Öffnen Sie die Seite mit Selenium, lesen Sie den Sitekey aus, holen Sie das Token per API und setzen Sie es in das Feld g-recaptcha-response ein.

  1. 1data-sitekey auf der Seite auslesen
  2. 2Aufgabe mit createTask erstellen
  3. 3Token in das versteckte Feld einsetzen und Formular senden
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

Lesen Sie in Playwright den Turnstile-Sitekey aus und setzen Sie das erhaltene Token in das Feld cf-turnstile-response ein.

  1. 1Sitekey auslesen
  2. 2Token per API abrufen
  3. 3Token einsetzen und senden
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

Rufen Sie mit Puppeteer ein reCAPTCHA v3 Token ab und fügen Sie es in die Anfrage der Website ein. Der pageAction-Wert muss dem der Website entsprechen.

  1. 1Sitekey und action-Wert finden
  2. 2v3-Token per API abrufen
  3. 3Token in die Anfrage einsetzen
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

Mit zwei HTTP Request Nodes in n8n erstellen Sie die Aufgabe und rufen das Ergebnis ab. Ein Wait Node pausiert 3 Sekunden.

  1. 1HTTP Request: createTask
  2. 2Wait: 3 Sekunden
  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 }}" }

in.php-Bibliotheken

Für das in.php-Format erstellte Bibliotheken funktionieren mit GateSolver, sobald Sie die Serveradresse ändern.

  1. 1server-Wert in der Bibliothek setzen
  2. 2API-Schlüssel eingeben
  3. 3Wie gewohnt aufrufen
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"])