Tích Hợp

Power Automate + CaptchaAI: Giải quyết CAPTCHA của Microsoft Flow

Microsoft Power Automate (trước đây là Flow) tự động hóa các quy trình kinh doanh trên toàn hệ sinh thái Microsoft và hàng trăm dịch vụ của bên thứ ba. Khi những quy trình công việc đó gặp phải các biểu mẫu hoặc API web được bảo vệ bằng CAPTCHA,CaptchaAIcó thể giải quyết chúng thông qua trình kết nối HTTP của Power Automate.

Hướng dẫn này cho biết cách xây dựng quy trình Power Automate gửi CAPTCHA tới CaptchaAI, thăm dò kết quả và sử dụng mã thông báo đã giải quyết để hoàn tất việc gửi biểu mẫu.

Kịch bản thế giới thực

Nhóm tài chính của bạn cần tự động truy xuất dữ liệu từ cổng nhà cung cấp hiển thị reCAPTCHA v2. Thay vì can thiệp thủ công, quy trình Power Automate:

  1. Nhận các tham số CAPTCHA (khóa trang web, URL trang)
  2. Gửi chúng tới CaptchaAI
  3. Chờ giải pháp
  4. Sử dụng mã thông báo để xác thực và truy xuất dữ liệu

Bước 1: Tạo luồng

Trong Power Automate, tạo Luồng đám mây tức thì bằng Trình kích hoạt thủ công (hoặc bất kỳ trình kích hoạt nào bạn chọn).

Thêm tham số đầu vào vào trình kích hoạt

Thêm hai kiểu nhập văn bản vào trình kích hoạt thủ công:

  • sitekey – Khóa trang web reCAPTCHA v2
  • pageurl — URL của trang có CAPTCHA

Bước 2: Gửi tác vụ CAPTCHA

Thêm hành động HTTP (Trình kết nối cao cấp):

Cài đặt Giá trị
phương pháp NHẬN
URI https://ocr.captchaai.com/in.php

Truy vấn:

Chìa khóa Giá trị
chìa khóa Khóa API CaptchaAI của bạn
phương pháp userrecaptcha
khóa google @{triggerBody()['text']} (đầu vào khóa trang web)
địa chỉ trang @{triggerBody()['text_1']} (đầu vào url trang)
json 1

Phân tích phản hồi: Thêm hành động Phân tích JSON sau hành động HTTP:

Lược đồ:

{
  "type": "object",
  "properties": {
    "status": { "type": "integer" },
    "request": { "type": "string" }
  }
}

Nội dung: @{body('HTTP')}

Bước 3: Xác thực Gửi phản hồi

Thêm hành động Điều kiện:

  • Điều kiện: @{body('Parse_JSON')?['status']} bằng 1

Nếu Không (gửi không thành công):

  • Thêm hành động Chấm dứt với trạng thái "Không thành công" và thông báo: Submit error: @{body('Parse_JSON')?['request']}

Nếu Có:

  • Tiếp tục vòng bỏ phiếu

Bước 4: Xây dựng vòng bỏ phiếu

Bên trong nhánh "If Yes", thêm vòng lặp Do Until:

Điều kiện vòng lặp: @{variables('solveStatus')} không bằng pending

Trước vòng lặp, khởi tạo hai biến:

  • solveStatus (Chuỗi) = pending
  • solvedToken (Chuỗi) = trống

Bên trong vòng lặp Do Until, hãy thêm các hành động sau theo trình tự:

4a. Trì hoãn

Thêm hành động Trì hoãn: 5 giây.

4b. HTTP – Thăm dò kết quả

Cài đặt Giá trị
phương pháp NHẬN
URI https://ocr.captchaai.com/res.php

Truy vấn:

Chìa khóa Giá trị
chìa khóa Khóa API CaptchaAI của bạn
hành động get
mã số @{body('Parse_JSON')?['request']}
json 1

4c. Phân tích cú pháp JSON – Phản hồi thăm dò ý kiến

Sử dụng lược đồ tương tự như Bước 2.

4d. Điều kiện – Kiểm tra trạng thái

Điều kiện: @{body('Parse_JSON_2')?['status']} bằng 1

Nếu Có (đã giải quyết):

  • Đặt biến solvedToken = @{body('Parse_JSON_2')?['request']}
  • Đặt biến solveStatus = solved

Nếu không:

  • Thêm điều kiện khác: @{body('Parse_JSON_2')?['request']} không bằng CAPCHA_NOT_READY
  • Nếu đúng (lỗi), đặt solveStatus = error
  • Nếu sai (vẫn đang chờ xử lý), không làm gì cả (vòng lặp tiếp tục)

Đặt giới hạn vòng lặp Thực hiện cho đến:

  • Số lượng: 20 (số lần lặp tối đa)
  • Thời gian chờ: PT3M (3 phút)

Bước 5: Sử dụng Token đã giải quyết

Sau vòng lặp, thêm Điều kiện để kiểm tra @{variables('solveStatus')}:

Nếu bằng "đã giải quyết":

  • Sử dụng @{variables('solvedToken')} trong HTTP POST để gửi biểu mẫu
  • Hoặc gửi qua email, tin nhắn trong Teams hoặc bất kỳ trình kết nối nào khác

Ví dụ HTTP POST để gửi biểu mẫu:

Cài đặt Giá trị
phương pháp BÀI ĐĂNG
URI URL biểu mẫu mục tiêu
Thân hình {"g-recaptcha-response": "@{variables('solvedToken')}", "other_field": "value"}

Nếu không được "giải quyết":

  • Gửi thông báo lỗi qua Teams hoặc email

Cấu trúc dòng chảy hoàn chỉnh

[Manual Trigger (sitekey, pageurl)]
    ↓
[Initialize Variables: solveStatus, solvedToken]
    ↓
[HTTP: Submit to CaptchaAI /in.php]
    ↓
[Parse JSON]
    ↓
[Condition: status = 1?]
    ↓ Yes
[Do Until: solveStatus ≠ pending]
    ├── [Delay: 5 seconds]
    ├── [HTTP: Poll CaptchaAI /res.php]
    ├── [Parse JSON]
    └── [Condition: Solved or Error?]
    ↓
[Condition: solveStatus = solved?]
    ↓ Yes
[HTTP: Submit form with token]
    ↓
[Compose: Success response]

Khắc phục sự cố

Vấn đề Nguyên nhân Cách xử lý
Trình kết nối HTTP không khả dụng Gói miễn phí không bao gồm đầu nối cao cấp Nâng cấp lên Power Automate Premium hoặc sử dụng trình kết nối tùy chỉnh
Phân tích JSON không thành công Nội dung phản hồi là văn bản, không phải JSON Đảm bảo json=1 có trong tham số truy vấn
Vòng lặp chạy vô thời hạn Biến solveStatus không được cập nhật Kiểm tra tên biến khớp chính xác trong Đặt hành động biến
Lỗi 403 từ CaptchaAI Hạn chế IP hoặc khóa API sai Xác minh khóa API; kiểm tra xem danh sách trắng IP có được bật trên tài khoản của bạn không
Hết thời gian chờ luồng Thời gian chờ mặc định là 30 ngày là ổn nhưng thời gian chờ của từng hành động riêng lẻ là 2 phút Thời gian chờ Do Until (PT3M) xử lý việc này; tăng nếu cần

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

Điều này có yêu cầu giấy phép Premium Power Automate không?

Có, trình kết nối HTTP là một tính năng Cao cấp. Nếu bạn đang sử dụng gói miễn phí, hãy cân nhắc sử dụng trình kết nối tùy chỉnh hoặc định tuyến thông qua Azure Functions.

Tôi có thể giải các loại CAPTCHA khác không?

Vâng. Thay đổi tham số method thành turnstile cho Cloudflare Turnstile hoặc post cho CAPTCHA hình ảnh. Điều chỉnh các thông số cần thiết cho phù hợp.

Làm cách nào để lưu trữ khóa API một cách an toàn?

Sử dụng trình kết nối Biến môi trường hoặc Azure Key Vault của Power Automate để tránh mã hóa cứng khóa API trong định nghĩa luồng.

Tôi có thể kích hoạt luồng này từ Power Apps không?

Vâng. Sử dụng trình kết nối Power Automate trong Power Apps để gọi dòng này, chuyển khóa trang và pageurl làm tham số rồi nhận lại mã thông báo.

bài viết liên quan

Các bước tiếp theo

Thêm giải pháp CAPTCHA vào quy trình làm việc Power Automate của bạn –lấy khóa API CaptchaAI của bạnvà xây dựng dòng chảy.

Hướng dẫn liên quan:

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