NEWAPI tiêu chuẩn createTask và in.php. Chỉ cần đổi địa chỉ là bạn đã kết nối.Xem tài liệu API
GATESOLVER
Bắt đầu

Tích hợp công cụ tự động hóa

Công cụ nào cũng cùng một cách: đọc site key trên trang, lấy kết quả qua API và điền vào trang. Bắt đầu bằng cách dán ví dụ cho các công cụ phổ biến.

Selenium

Mở trang bằng Selenium, đọc site key, lấy token qua API rồi điền vào trường g-recaptcha-response.

  1. 1Đọc data-sitekey trên trang
  2. 2Tạo task bằng createTask
  3. 3Điền token vào trường ẩn và gửi form
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

Đọc site key Turnstile trong Playwright và điền token nhận được vào trường cf-turnstile-response.

  1. 1Đọc site key
  2. 2Lấy token qua API
  3. 3Điền token và gửi
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

Lấy token reCAPTCHA v3 bằng Puppeteer và đưa vào yêu cầu mà trang gửi đi. Đặt giá trị pageAction giống với trang.

  1. 1Tìm site key và giá trị action
  2. 2Lấy token v3 qua API
  3. 3Điền token vào yêu cầu
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

Dùng hai node HTTP Request của n8n để tạo task và nhận kết quả. Dùng node Wait để chờ 3 giây.

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

Thư viện in.php

Các thư viện xây dựng cho định dạng in.php cũng giải được bằng GateSolver khi bạn đổi địa chỉ máy chủ.

  1. 1Điền giá trị server vào thư viện
  2. 2Nhập API key
  3. 3Gọi như bình thường
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"])