# Trang thử thách Cloudflare (5 giây)

> Dùng YesCaptcha vượt qua trang kiểm tra "Just a moment..." của Cloudflare (trang thử thách 5 giây) để nhận cookie như cf_clearance, User-Agent và nội dung trang: tham số của CloudFlareTaskS2 và CloudFlareTaskS3, yêu cầu về proxy, kết quả trả về, cách dùng kết quả và các lỗi thường gặp.

Source: https://docs.yescaptcha.com/vi/tasks/cloudflare-challenge/ · Last verified: 2026-10-19

> This page was machine-translated from the Chinese version. If anything differs, the Chinese version prevails: https://docs.yescaptcha.com/zh/tasks/cloudflare-challenge/

Trang thử thách Cloudflare (5 giây) là trang kiểm tra chặn toàn bộ trang web và hiển thị “Just a moment…” hoặc “Đang kiểm tra trình duyệt của bạn”. YesCaptcha mở trang qua proxy bạn cung cấp, vượt qua bước kiểm tra, rồi trả về cookie như `cf_clearance`, User-Agent đã dùng, request header, response header và HTML của trang sau khi vượt qua. `CloudFlareTaskS2` có giá 25 điểm (≈ $3.75 / 1k) mỗi tác vụ, `CloudFlareTaskS3` có giá 20 điểm (≈ $3.00 / 1k) mỗi tác vụ; hai loại có cùng tham số, kết quả trả về và hiệu quả, chỉ khác giá. Tác vụ bất đồng bộ, thường mất 6 đến 35 giây, chênh lệch khá nhiều giữa các trang web. Nếu nhận dạng thất bại hoặc hết thời gian chờ, hệ thống tự động hoàn điểm.

- POST `https://api.yescaptcha.com/createTask` (Endpoint quốc tế)
- POST `https://cn.yescaptcha.com/createTask` (Endpoint Trung Quốc)

## Khi nào dùng

-   Mã nguồn trang có `__cf_chl_rt_tk` hoặc `cdn-cgi/challenge-platform`, tiêu đề là `Just a moment...`: đây là trang thử thách 5 giây. Trang kiểm tra yêu cầu tick ô “Xác nhận bạn là người thật” cũng dùng trang này.
-   Nếu chỉ là khung xác minh của Cloudflare nhúng trong biểu mẫu thì đó là [Turnstile](https://docs.yescaptcha.com/vi/tasks/turnstile.md), không dùng trang này.
-   Khi dùng thư viện như requests mà nhận về 403 kèm “Just a moment…” nhưng trình duyệt mở trang bình thường: nhiều khả năng chỉ bị chặn do dấu vân tay TLS. Hãy dùng thư viện có thể mô phỏng dấu vân tay TLS của trình duyệt (như curl\_cffi) là request được, không cần vượt trang thử thách.

## Loại tác vụ và giá

| Loại tác vụ | Giá | Cách trả kết quả | Ghi chú |
| --- | --- | --- | --- |
| `CloudFlareTaskS2` | $3.75 / 1k; 25 điểm/tác vụ · ¥25 / 1k | Bất đồng bộ | Dùng proxy riêng |
| `CloudFlareTaskS3` | $3.00 / 1k; 20 điểm/tác vụ · ¥20 / 1k | Bất đồng bộ | Dùng proxy riêng |

Giá bằng đô la Mỹ chỉ là ước tính theo US$1 ≈ ¥6.67; tác vụ được trừ điểm.

## Tham số yêu cầu

| Trường | Kiểu | Bắt buộc | Mô tả |
| --- | --- | --- | --- |
| `type` | string | Có | Loại tác vụ; xem "Loại tác vụ và giá" trên trang này |
| `websiteURL` | string | Có | URL đầy đủ của trang nằm sau trang thử thách. Phải là URL công khai bắt đầu bằng `http://` hoặc `https://`; địa chỉ IP nội bộ và tên máy chủ cục bộ hoặc nội bộ như `localhost` sẽ bị từ chối |
| `proxy` | string | Có | Proxy dưới dạng một chuỗi: `http://user:pass@proxy.example.com:8080` (proxy HTTP, thông tin đăng nhập là tùy chọn) hoặc `socks5://proxy.example.com:1080` (không có thông tin đăng nhập). Proxy `https://` và SOCKS5 có thông tin đăng nhập không được hỗ trợ, địa chỉ cục bộ hoặc nội bộ sẽ bị từ chối. Mọi request tới trang đích đều đi qua proxy này |
| `userAgent` | string | Không | Thường không cần điền. Chỉ User-Agent của Chrome trên Linux (máy tính) được sử dụng; các loại khác (Windows, macOS, di động, trình duyệt khác) sẽ bị bỏ qua. Với các request sau đó, luôn dùng `user_agent` trong kết quả |
| `waitLoad` | boolean | Không | Mặc định là false. Nếu là true, sau khi vượt qua kiểm tra, tác vụ sẽ đợi đến khi hoạt động mạng của trang ổn định rồi mới trả về, nhờ đó `content` có thêm nội dung được tải động; mất thêm vài giây |
| `requiredCookies` | array | Không | Danh sách tên Cookie bắt buộc phải lấy được, dạng mảng chuỗi, ví dụ `["cf_clearance"]`. Nếu đặt, tác vụ chỉ thành công khi lấy được tất cả; nếu không sẽ trả về `ERROR_CAPTCHA_UNSOLVABLE` và hoàn điểm. Nếu bỏ qua, tác vụ vẫn cố lấy `cf_clearance`, nhưng vẫn thành công (và bị trừ điểm) với bất kỳ Cookie nào khác lấy được, vì vậy hãy truyền rõ ràng nếu bạn cần `cf_clearance` |
| `blockImage` | boolean | Không | Nếu là true, hình ảnh trên trang đích sẽ không được tải (trừ những hình mà chính bước kiểm tra của Cloudflare cần), giúp tiết kiệm lưu lượng proxy |
| `postData` | object | Không | Nếu đặt, dữ liệu được gửi tới `websiteURL` như một form HTML POST thông thường (`application/x-www-form-urlencoded`): mỗi khóa là một trường form và giá trị được gửi dưới dạng chuỗi, ví dụ `{"name": "hi"}`. Phải là một đối tượng |

### Yêu cầu về proxy

`proxy` là bắt buộc, mọi request mở trang đích đều đi qua proxy này. `cf_clearance` gắn với IP đầu ra, vì vậy khi truy cập trang đích sau đó cũng phải dùng cùng proxy.

| Cách viết | Có hỗ trợ không |
| --- | --- |
| `http://user:pass@proxy.example.com:8080` | Hỗ trợ: proxy http, có tài khoản và mật khẩu |
| `http://proxy.example.com:8080` | Hỗ trợ: proxy http, không có tài khoản và mật khẩu |
| `socks5://proxy.example.com:1080` | Hỗ trợ: proxy socks5, không có tài khoản và mật khẩu; `socks5h://` được xử lý như `socks5://` |
| `socks5://user:pass@proxy.example.com:1080` | Không hỗ trợ, trả về `ERROR_PROXY_INCORRECT`; nếu cần tài khoản và mật khẩu, hãy dùng proxy http |
| `https://proxy.example.com:443` hoặc giao thức khác, hoặc thiếu cổng | Không hỗ trợ, trả về `ERROR_PROXY_INCORRECT` |
| Địa chỉ máy cục bộ, mạng nội bộ hoặc địa chỉ dành riêng như `127.0.0.1`, `192.168.x.x`, `10.x.x.x`, hoặc tên miền phân giải ra các địa chỉ này | Từ chối, trả về `ERROR_PROXY_BANNED` |

> **Được kiểm tra ngay khi tạo tác vụ:** Nếu URL hoặc proxy không hợp lệ, `createTask` trả lỗi ngay và không trừ điểm. Nếu một proxy không kết nối được nhiều lần trong thời gian ngắn, thì trong một khoảng thời gian sau đó, tạo tác vụ với proxy này cũng sẽ trả về `ERROR_PROXY_BANNED`; hãy đổi proxy hoặc thử lại sau.

### User-Agent

Thông thường không cần truyền `userAgent`. Chúng tôi dùng Chrome bản desktop trên Linux để vượt qua kiểm tra, nên chỉ User-Agent của Chrome desktop trên Linux mới được áp dụng; các loại khác (Windows, macOS, điện thoại hoặc trình duyệt khác) sẽ bị bỏ qua: qua thử nghiệm thực tế, khi môi trường trình duyệt thực tế không khớp với User-Agent thì Cloudflare không cho vượt qua. Các request sau đó luôn dùng `user_agent` trong kết quả.

## Ví dụ yêu cầu

POST https://api.yescaptcha.com/createTask

```json
{
  "clientKey": "YOUR_CLIENT_KEY",
  "task": {
    "type": "CloudFlareTaskS3",
    "websiteURL": "https://example.com/",
    "proxy": "http://user:pass@proxy.example.com:8080",
    "requiredCookies": ["cf_clearance"]
  }
}
```

-   Muốn dùng `CloudFlareTaskS2` thì chỉ đổi `type`, các phần khác giữ nguyên.
-   Nếu truyền `requiredCookies` là `["cf_clearance"]`, khi không lấy được `cf_clearance` thì tác vụ thất bại và hoàn điểm; nếu không truyền, trường hợp không lấy được `cf_clearance` mà chỉ có cookie khác vẫn được tính là thành công và bị trừ điểm.
-   Nếu cần gửi biểu mẫu, thêm `postData`, ví dụ `{"name": "hi"}`; dữ liệu sẽ được gửi tới `websiteURL` dưới dạng biểu mẫu POST.

Sau khi tạo, gọi `getTaskResult` mỗi 5 giây; quy trình giống các tác vụ bất đồng bộ khác, xem [getTaskResult](https://docs.yescaptcha.com/vi/api/get-task-result.md).

## Kết quả trả về

```json
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36",
    "cookies": {
      "cf_clearance": "Wq3vXk9...-1760860800-1.2.1.1-..."
    },
    "request_headers": {
      "accept-language": "en-US,en;q=0.9",
      "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36"
    },
    "headers": {
      "content-type": "text/html; charset=UTF-8",
      "server": "cloudflare"
    },
    "content": "<!DOCTYPE html>..."
  }
}
```

Giá trị cookie và request header ở trên chỉ mang tính minh họa, hãy dùng dữ liệu thực tế do API trả về.

| Trường | Kiểu | Mô tả |
| --- | --- | --- |
| `cookies` | object | Toàn bộ cookie trong trình duyệt sau khi vượt qua bước kiểm tra (đối tượng ánh xạ tên sang giá trị), thường bao gồm `cf_clearance`; nếu bạn đặt `requiredCookies`, mọi cookie trong đó đều được đảm bảo có mặt. Hãy dùng cùng với `user_agent` được trả về và proxy bạn đã cung cấp |
| `user_agent` | string | User-Agent mà trình duyệt thực sự đã dùng để vượt qua bước kiểm tra (Chrome desktop trên Linux). `cf_clearance` gắn với giá trị này, vì vậy hãy dùng nó cho mọi yêu cầu tiếp theo |
| `request_headers` | object | Các request header mà trình duyệt đã gửi trong yêu cầu cuối cùng tới trang đích; nên dùng lại chúng trong các yêu cầu tiếp theo |
| `headers` | object | Các response header của trang đích sau khi vượt qua bước kiểm tra |
| `content` | string | Mã nguồn HTML của trang đích sau khi vượt qua bước kiểm tra |

## Cách dùng kết quả

1.  Các request tiếp theo phải dùng **đồng thời** `cookies` trả về, `user_agent` trả về và cùng proxy đã dùng khi tạo tác vụ. `cf_clearance` gắn với User-Agent và IP đầu ra; chỉ cần một trong ba thứ không khớp, trang thử thách 5 giây sẽ xuất hiện lại.
2.  Nên gửi kèm request header theo `request_headers`, và dùng dấu vân tay TLS giống trình duyệt (ví dụ tham số `impersonate` của curl\_cffi).
3.  `cf_clearance` có thời hạn (do trang đích quy định, có trang lên tới 1 giờ); trong thời hạn này không cần vượt lại. Gửi request quá nhanh có thể khiến Cloudflare chặn IP.
4.  Nếu chỉ cần nội dung trang, có thể dùng trực tiếp `content`, không cần request lại lần nữa.

## Lỗi thường gặp

Lỗi trả về khi tạo tác vụ không bị trừ điểm; tác vụ thất bại hoặc hết thời gian chờ sau khi tạo thành công sẽ được tự động hoàn điểm. API chỉ trả về mã lỗi và mô tả chung, hãy đối chiếu nguyên nhân cụ thể theo bảng dưới.

| Mã lỗi | Khi nào trả về | Cách xử lý |
| --- | --- | --- |
| `ERROR_REQUIRED_FIELDS` | Khi tạo tác vụ: thiếu `websiteURL` hoặc `proxy` | Bổ sung hai trường bắt buộc |
| `ERROR_ILLEGAL_PARAMETERS` | Khi tạo tác vụ: `websiteURL` không phải URL công khai bắt đầu bằng `http://` / `https://`, `postData` không phải đối tượng, hoặc `requiredCookies` không phải mảng chuỗi. Khi truy vấn kết quả: không phân giải được tên miền của URL đích qua proxy | Sửa tham số; kiểm tra chính tả URL và xem proxy có truy cập được trang này không |
| `ERROR_PROXY_INCORRECT` | Khi tạo tác vụ: proxy sai định dạng, thiếu cổng, dùng proxy `https://` hoặc socks5 có tài khoản và mật khẩu | Sửa theo cách viết trong mục “Yêu cầu về proxy” ở trên; nếu cần tài khoản và mật khẩu thì dùng proxy http |
| `ERROR_PROXY_BANNED` | Khi tạo tác vụ: proxy là địa chỉ máy cục bộ, mạng nội bộ hoặc địa chỉ dành riêng, hoặc proxy này không kết nối được nhiều lần trong thời gian ngắn. Khi truy vấn kết quả: Cloudflare của trang đích chặn thẳng IP của proxy này (trang “Sorry, you have been blocked”, “Access denied”) | Đổi sang proxy khác; IP chất lượng càng tốt càng dễ vượt qua |
| `ERROR_PROXY_CONNECT_REFUSED` | Không kết nối được proxy (bị từ chối kết nối, không phân giải được tên miền của proxy), hoặc khi mở trang qua proxy thì kết nối bị từ chối hoặc bị reset | Kiểm tra địa chỉ và cổng của proxy, xác nhận proxy đang hoạt động và cho phép truy cập từ bên ngoài; nếu vẫn lỗi thì đổi proxy |
| `ERROR_PROXY_CONNECT_TIMEOUT` | Kết nối tới proxy hoặc mở trang qua proxy bị hết thời gian chờ | Đổi sang proxy nhanh và ổn định hơn |
| `ERROR_PROXY_NOT_AUTHORISED` | Tài khoản hoặc mật khẩu của proxy sai | Kiểm tra tài khoản và mật khẩu trong `proxy`; ký tự đặc biệt cần được mã hóa URL |
| `ERROR_PROXY_TLS_ERROR` | Bắt tay TLS bị lỗi khi mở trang qua proxy | Xác nhận địa chỉ, cổng và giao thức của proxy không bị điền sai; nếu vẫn lỗi thì đổi proxy |
| `ERROR_CAPTCHA_UNSOLVABLE` | Không vượt qua kiểm tra trong thời gian quy định, sau khi vượt qua vẫn dừng ở trang kiểm tra, hoặc không lấy được cookie yêu cầu trong `requiredCookies` | Thử lại với proxy khác trước; với một số trang web cụ thể, hãy liên hệ bộ phận hỗ trợ |
| `ERROR_NO_SLOT_AVAILABLE` | Khi tạo tác vụ: hàng đợi đã đầy. Khi truy vấn kết quả: chờ trong hàng đợi quá lâu mà chưa bắt đầu, đã hoàn điểm | Chờ vài giây rồi tạo lại tác vụ |
| `ERROR_TASK_TIMEOUT` | Tác vụ không hoàn thành trong thời gian quy định | Tạo lại tác vụ; nếu liên tục hết thời gian chờ thì thường là do proxy quá chậm |

Xem toàn bộ mã lỗi tại [Mã lỗi](https://docs.yescaptcha.com/vi/api/errors.md).

## Liên quan

-   [Xác định loại captcha](https://docs.yescaptcha.com/vi/guides/identify-captcha.md): sự khác nhau giữa trang thử thách 5 giây và Turnstile
-   [Cloudflare Turnstile](https://docs.yescaptcha.com/vi/tasks/turnstile.md)
