Bắt Đầu

CaptchaAI Quickstart: Lần Giải CAPTCHA Đầu Tiên Của Bạn Trong 5 Phút

Hướng dẫn này có một mục tiêu duy nhất: đưa bạn từ con số không đến lần gọi API thành công đầu tiên và nhận về token đã giải nhanh nhất có thể. Không lý thuyết, không lan man — chỉ những bước tối thiểu và mã chạy được ngay.

Mọi loại CAPTCHA mà CaptchaAI hỗ trợ đều theo cùng một mô hình bốn bước:

  1. Gửi — gửi thông tin CAPTCHA tới in.php
  2. Lưu task ID từ response
  3. Polling — gọi res.php mỗi 5 giây cho đến khi có kết quả
  4. Dùng token — chèn vào trang hoặc request mục tiêu

Bước 0: Lấy API key

  1. Đăng ký tại captchaai.com
  2. Mở dashboard
  3. Sao chép API key 32 ký tự

Tài khoản của bạn cần có thread đang hoạt động để gửi task. Nếu đang đánh giá dịch vụ, liên hệ support để xin thread dùng thử.


Bước 1: Gửi một CAPTCHA

Ví dụ này giải Cloudflare Turnstile — một trong những loại phổ biến nhất. Bạn cần hai giá trị từ trang đích:

  • sitekey — khóa công khai của widget Turnstile (thuộc tính data-sitekey hoặc tham số script Turnstile, bắt đầu bằng 0x)
  • pageurl — URL đầy đủ của trang nơi widget được tải

cURL

curl -X POST "https://ocr.captchaai.com/in.php" \
  -d "key=YOUR_API_KEY" \
  -d "method=turnstile" \
  -d "sitekey=0x4AAAAAAAC3DHQFLr1GavNl" \
  -d "pageurl=https://staging.example.com/qa-login" \
  -d "json=1"

Python

import requests

response = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": "YOUR_API_KEY",
    "method": "turnstile",
    "sitekey": "0x4AAAAAAAC3DHQFLr1GavNl",
    "pageurl": "https://staging.example.com/qa-login",
    "json": 1,
})
print(response.json())

Node.js

const response = await fetch("https://ocr.captchaai.com/in.php", {
  method: "POST",
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
  body: new URLSearchParams({
    key: "YOUR_API_KEY",
    method: "turnstile",
    sitekey: "0x4AAAAAAAC3DHQFLr1GavNl",
    pageurl: "https://staging.example.com/qa-login",
    json: "1",
  }),
});
console.log(await response.json());

PHP

<?php
$response = file_get_contents("https://ocr.captchaai.com/in.php?" . http_build_query([
    "key"       => "YOUR_API_KEY",
    "method"    => "turnstile",
    "sitekey"   => "0x4AAAAAAAC3DHQFLr1GavNl",
    "pageurl"   => "https://staging.example.com/qa-login",
    "json"      => 1,
]));
echo $response;

Bước 2: Lưu task ID

Response thành công:

{
  "status": 1,
  "request": "71823469"
}

Trường request là ID task của bạn — sẽ cần để lấy kết quả.

Nếu status bằng 0, có điều gì đó sai. Mã lỗi nằm trong request:

Lỗi Ý nghĩa Cách xử lý
ERROR_WRONG_USER_KEY Sai định dạng API key Kiểm tra 32 ký tự
ERROR_KEY_DOES_NOT_EXIST Không tìm thấy key Đối chiếu với dashboard
ERROR_ZERO_BALANCE Hết thread khả dụng Nạp thêm hoặc đợi giải phóng
ERROR_PAGEURL Thiếu tham số pageurl Bổ sung URL đầy đủ
ERROR_WRONG_GOOGLEKEY sitekey rỗng hoặc sai Trích xuất lại sitekey (Turnstile bắt đầu bằng 0x)

Bước 3: Polling kết quả

Đợi 15 giây, sau đó polling mỗi 5 giây đến khi có kết quả.

Python

import time

time.sleep(15)

while True:
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": "YOUR_API_KEY",
        "action": "get",
        "id": "71823469",
        "json": 1,
    }).json()

    if result.get("request") == "CAPCHA_NOT_READY":
        time.sleep(5)
        continue

    if result.get("status") == 1:
        token = result["request"]
        print(f"Solved! Token: {token[:60]}...")
        break

    raise RuntimeError(result)

Node.js

await new Promise((r) => setTimeout(r, 15000));

while (true) {
  const r = await fetch(
    `https://ocr.captchaai.com/res.php?key=YOUR_API_KEY&action=get&id=71823469&json=1`,
  );
  const data = await r.json();
  if (data.request === "CAPCHA_NOT_READY") {
    await new Promise((r) => setTimeout(r, 5000));
    continue;
  }
  if (data.status === 1) {
    console.log("Solved:", data.request.slice(0, 60));
    break;
  }
  throw new Error(JSON.stringify(data));
}

Bước 4: Dùng token

Cách chèn phụ thuộc loại CAPTCHA:

  • Turnstile / reCAPTCHA: ghi vào cf-turnstile-response hoặc g-recaptcha-response, hoặc gọi callback của trang.
  • OCR ảnh: đặt văn bản nhận diện được vào ô nhập câu trả lời.
  • GeeTest / FunCaptcha: ghép các trường trả về theo yêu cầu của site.

Cách chèn đơn giản nhất trong trình duyệt:

document.querySelector('[name="cf-turnstile-response"]').value = token;
document.querySelector("form").submit();

Lỗi thường gặp khi mới bắt đầu

  • Khoảng trắng trong API key — bỏ đi.
  • Thiếu giao thức trong pageurl — phải là https://....
  • Polling sớm quá — đợi đủ 15 giây.
  • Polling quá dồn dập — 5 giây là đủ.
  • Hết thread — xem Mã lỗi API và gói thread của bạn.

Bước tiếp theo

  • Cách Giải reCAPTCHA v2 Bằng API: Hướng Dẫn Từng Bước
  • Cách giải Cloudflare Turnstile bằng API
  • Cách giải quyết GeeTest v3 bằng API
  • Image Captcha Solving Using Api
Os comentários estão desativados para este artigo.