Bỏ qua để đến nội dung
Trạng tháiBảng điều khiển

Loại tác vụ

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

Trang này được dịch máy từ bản tiếng Trung và có thể có sai sót. Nội dung theo bản tiếng Trung.

Hình minh họaTrang thử thách Cloudflare thay thế toàn bộ trang ("Just a moment..."). Thông thường việc kiểm tra tự hoàn tất và trình duyệt chuyển sang trang thật.

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.

POSThttps://api.yescaptcha.com/createTaskEndpoint quốc tế
POSThttps://cn.yescaptcha.com/createTaskEndpoint Trung Quốc
  • 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, 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ụGiáCách trả kết quảGhi chú
CloudFlareTaskS2$3.75 / 1k; 25 điểm/tác vụ · ¥25 / 1kBất đồng bộDùng proxy riêng
CloudFlareTaskS3$3.00 / 1k; 20 điểm/tác vụ · ¥20 / 1kBấ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.

TrườngKiểuBắt buộcMô tả
typestringCóLoại tác vụ; xem "Loại tác vụ và giá" trên trang này
websiteURLstringCó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
proxystringCóProxy dưới dạng một chuỗi: http://user:[email protected]: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
userAgentstringKhôngThườ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ả
waitLoadbooleanKhôngMặ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
requiredCookiesarrayKhôngDanh 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
blockImagebooleanKhôngNế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
postDataobjectKhôngNế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

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:[email protected]: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:[email protected]: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

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ả.

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "CloudFlareTaskS3",
"websiteURL": "https://example.com/",
"proxy": "http://user:[email protected]: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.

{
"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ườngKiểuMô tả
cookiesobjectToà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_agentstringUser-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_headersobjectCá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
headersobjectCác response header của trang đích sau khi vượt qua bước kiểm tra
contentstringMã nguồn HTML của trang đích sau khi vượt qua bước kiểm tra
  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 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.