Hướng Dẫn Thực Hành

n8n + CaptchaAI: Quy trình giải CAPTCHA không cần mã

n8n là một công cụ tự động hóa quy trình làm việc nguồn mở có hỗ trợ vòng lặp gốc, giúp công cụ này linh hoạt hơn Zapier trong việc giải CAPTCHA. Bạn có thể xây dựng quy trình gửi → thăm dò → sử dụng quy trình tự động thử lại cho đến khi quá trình giải quyết hoàn tất.


Tổng quan về quy trình làm việc

Manual Trigger / Cron
    ↓
HTTP Request: Submit CAPTCHA
    ↓
Wait: 10 seconds
    ↓
Loop: Poll until solved
    ├── HTTP Request: Get result
    ├── IF: status == 1? → Exit loop
    └── Wait: 5 seconds → Loop again
    ↓
HTTP Request: Use token

Nút 1: Gửi CAPTCHA

Thêm nút Yêu cầu HTTP:

Cài đặt Giá trị
phương pháp POST
URL https://ocr.captchaai.com/in.php
Loại nội dung cơ thể Form URL Encoded

Thông số cơ thể:

Tên Giá trị
key {{ $credentials.captchaaiApiKey }} hoặc mã hóa khóa của bạn
method userrecaptcha
googlekey 6Le-SITEKEY
pageurl https://example.com
json 1

Phản hồi:

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

Nút 2: Đợi

Thêm nút Chờ:

Cài đặt Giá trị
Thời gian chờ 10
Đơn vị Seconds

Điều này giúp người giải có thời gian bắt đầu xử lý trước cuộc thăm dò đầu tiên.


Nút 3: Kết quả thăm dò (có vòng lặp)

n8n hỗ trợ các vòng lặp thông qua nút Loop Over Items hoặc bằng cách kết nối đầu ra sai của nút IF trở lại nút trước đó.

Tùy chọn A: Vòng lặp IF đơn giản

Thêm nút Yêu cầu HTTP (Thăm dò ý kiến):

Cài đặt Giá trị
phương pháp GET
URL https://ocr.captchaai.com/res.php
Tham số truy vấn key, action=get, id={{ $json.request }}, json=1

Kết nối nó với nút IF:

tình trạng Giá trị
Giá trị 1 {{ $json.status }}
hoạt động Equal
Giá trị 2 1
  • Đầu ra đúng → Tiếp tục hành động tiếp theo (sử dụng mã thông báo)
  • Đầu ra saiĐợi (5 giây) → quay lại nút Thăm dò ý kiến

Tùy chọn B: Nút mã

Để kiểm soát nhiều hơn, hãy sử dụng nút Code:

const apiKey = 'YOUR_API_KEY';
const taskId = $input.first().json.request;

for (let i = 0; i < 24; i++) {
  await new Promise(r => setTimeout(r, 5000));

  const resp = await fetch(
    `https://ocr.captchaai.com/res.php?key=${apiKey}&action=get&id=${taskId}&json=1`
  );
  const data = await resp.json();

  if (data.status === 1) {
    return [{ json: { token: data.request, taskId } }];
  }
  if (data.request !== 'CAPCHA_NOT_READY') {
    throw new Error(`CaptchaAI error: ${data.request}`);
  }
}

throw new Error(`Task ${taskId} timed out`);

Nút 4: Sử dụng mã thông báo

Thêm một nút Yêu cầu HTTP khác để gửi biểu mẫu với mã thông báo đã được giải quyết:

Cài đặt Giá trị
phương pháp POST
URL `https://staging.example.com/qa-form
Loại nội dung cơ thể Form URL Encoded

Các tham số nội dung bao gồm dữ liệu biểu mẫu của bạn cộng thêm:

Tên Giá trị
g-recaptcha-response {{ $json.token }}

Lưu trữ khóa API một cách an toàn

Sử dụng hệ thống Thông tin xác thực của n8n:

  1. Đi tới Thông tin xác thực → Thêm thông tin xác thực → Xác thực tiêu đề
  2. Tên: CaptchaAI API Key
  3. Lưu trữ chìa khóa một cách an toàn

Hoặc sử dụng biến môi trường:

# In your n8n environment
export CAPTCHAAI_API_KEY="your_key_here"

Tham chiếu trong các nút: {{ $env.CAPTCHAAI_API_KEY }}


Quy trình làm việc của CAPTCHA hình ảnh

Đối với CAPTCHA hình ảnh, hãy điều chỉnh nút Gửi:

Tên Giá trị
method base64
body Hình ảnh được mã hóa Base64 (từ nút hoặc URL trước đó)

Để chuyển đổi URL hình ảnh thành base64 trong n8n, hãy thêm nút Code trước khi gửi:

const imageUrl = $input.first().json.imageUrl;
const resp = await fetch(imageUrl);
const buffer = Buffer.from(await resp.arrayBuffer());
const base64 = buffer.toString('base64');

return [{ json: { imageBase64: base64 } }];

Quy trình kiểm tra số dư

Tạo một quy trình công việc riêng biệt chạy theo lịch trình:

Cron (daily at 9 AM)
    ↓
HTTP Request: GET res.php?action=getbalance
    ↓
IF: balance < 5
    ↓
Slack / Email: "CaptchaAI balance low: $X.XX"

n8n vs Zapier để giải CAPTCHA

tính năng n8n Zapier
Hỗ trợ Loop/retry Gốc (vòng lặp IF, nút vòng lặp) Bị giới hạn (Chỉ đường dẫn)
Tùy chọn tự lưu trữ Có (miễn phí) Không (chỉ đám mây)
Nút mã JavaScript đầy đủ bị giới hạn
Chi phí Đám mây miễn phí (tự lưu trữ) hoặc trả phí Được trả tiền (mỗi nhiệm vụ)
Dễ dàng thiết lập Trung bình Dễ dàng

n8n tốt hơn cho quy trình làm việc của CAPTCHA vì hỗ trợ vòng lặp và các nút Mã.


Khắc phục sự cố

Vấn đề Nguyên nhân Cách xử lý
Vòng thăm dò chạy mãi mãi Không có giới hạn lặp lại tối đa Thêm một biến đếm, ngắt sau 24 lần lặp
CAPCHA_NOT_READY không ngừng nghỉ Thời gian chờ đợi quá ngắn trước cuộc thăm dò đầu tiên Tăng thời gian chờ ban đầu lên 15-20 giây
Mã thông báo không có sẵn trong nút tiếp theo Đường dẫn biểu thức sai Kiểm tra {{ $json.token }} khớp với đầu ra
Không tìm thấy thông tin xác thực Biến môi trường chưa được đặt Khởi động lại n8n sau khi cài đặt env vars

Câu hỏi thường gặp

Tôi có thể xử lý nhiều CAPTCHA trong một quy trình làm việc không?

Vâng. Sử dụng nút Chia theo lô để xử lý nhiều mục, mỗi mục có quy trình gửi → thăm dò → sử dụng riêng.

N8n có hỗ trợ Turnstile không?

Vâng. Thay đổi method thành turnstile và sử dụng sitekey thay vì googlekey.


Tích hợp giải pháp CAPTCHA vào quy trình công việc n8n của bạn

Nhận khóa API của bạn tạicaptchaai.com.


Hướng dẫn liên quan

Os comentários estão desativados para este artigo.