เชื่อมต่อเครื่องมืออัตโนมัติ
ทุกเครื่องมือใช้วิธีเดียวกัน: อ่าน site key จากหน้าเว็บ รับคำตอบผ่าน API แล้วใส่ลงในหน้าเว็บ เริ่มได้ด้วยการวางตัวอย่างของเครื่องมือยอดนิยม
Selenium
เปิดหน้าเว็บด้วย Selenium อ่าน site key รับโทเค็นผ่าน API แล้วใส่ลงในช่อง g-recaptcha-response
- 1อ่าน data-sitekey จากหน้าเว็บ
- 2สร้างงานด้วย createTask
- 3ใส่โทเค็นในช่องที่ซ่อนแล้วส่งฟอร์ม
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
อ่าน site key ของ Turnstile ใน Playwright แล้วใส่โทเค็นที่ได้ลงในช่อง cf-turnstile-response
- 1อ่าน site key
- 2รับโทเค็นผ่าน API
- 3ใส่โทเค็นแล้วส่ง
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
รับโทเค็น reCAPTCHA v3 ด้วย Puppeteer แล้วใส่ในคำขอที่เว็บไซต์ส่ง ตั้งค่า pageAction ให้ตรงกับเว็บไซต์
- 1หา site key และค่า action
- 2รับโทเค็น v3 ผ่าน API
- 3ใส่โทเค็นในคำขอ
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
ใช้โหนด HTTP Request สองตัวใน n8n เพื่อสร้างงานและรับผลลัพธ์ และใช้โหนด Wait พัก 3 วินาที
- 1HTTP Request: createTask
- 2Wait: 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
ไลบรารีที่สร้างสำหรับรูปแบบ in.php ก็ใช้แก้ด้วย GateSolver ได้ แค่เปลี่ยนที่อยู่เซิร์ฟเวอร์
- 1ใส่ค่า server ในไลบรารี
- 2ใส่ API key
- 3เรียกใช้ตามปกติ
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"])