Intégration aux outils d'automatisation
La méthode est la même avec tous les outils : lisez la clé de site sur la page, obtenez la réponse via l'API et insérez-la dans la page. Démarrez en collant les exemples des outils les plus utilisés.
Selenium
Ouvrez la page avec Selenium, lisez la clé de site, obtenez le token via l'API et insérez-le dans le champ g-recaptcha-response.
- 1Lire le data-sitekey sur la page
- 2Créer la tâche avec createTask
- 3Insérer le token dans le champ caché et envoyer le formulaire
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
Avec Playwright, lisez la clé de site Turnstile et insérez le token reçu dans le champ cf-turnstile-response.
- 1Lire la clé de site
- 2Obtenir un token via l'API
- 3Insérer le token et envoyer
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
Avec Puppeteer, obtenez le token reCAPTCHA v3 et ajoutez-le à la requête envoyée par le site. Utilisez la même valeur pageAction que le site.
- 1Trouver la clé de site et la valeur action
- 2Obtenir un token v3 via l'API
- 3Ajouter le token à la requête
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
Dans n8n, utilisez deux nœuds HTTP Request pour créer la tâche et récupérer le résultat. Patientez 3 secondes avec le nœud Wait.
- 1HTTP Request: createTask
- 2Wait : 3 secondes
- 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 }}" }Bibliothèques in.php
Les bibliothèques conçues pour le format in.php fonctionnent aussi avec GateSolver en changeant simplement l'adresse du serveur.
- 1Définir la valeur server dans la bibliothèque
- 2Ajouter la clé API
- 3Appelez comme d'habitude
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"])