ข้ามไปยังเนื้อหา
สถานะแดชบอร์ด

ประเภทงาน

Cloudflare challenge page (5 วินาที)

หน้านี้แปลด้วยเครื่องจากเวอร์ชันภาษาจีน อาจมีข้อผิดพลาด โปรดยึดเวอร์ชันภาษาจีนเป็นหลัก

ภาพประกอบหน้าตรวจสอบของ Cloudflare จะแทนที่ทั้งหน้า ("Just a moment...") โดยปกติการตรวจสอบจะเสร็จเองและเบราว์เซอร์จะเข้าสู่หน้าจริง

Cloudflare challenge page (5 วินาที) คือหน้าตรวจสอบที่ Cloudflare ดักไว้ทั้งหน้าเว็บ โดยแสดงข้อความ “Just a moment…” หรือ “กำลังตรวจสอบเบราว์เซอร์ของคุณ” YesCaptcha จะเปิดหน้าเว็บผ่านพร็อกซีที่คุณระบุและผ่านการตรวจสอบ จากนั้นคืนค่า Cookie เช่น cf_clearance, User-Agent ที่ใช้ในขณะนั้น, request header, response header และ HTML ของหน้าเว็บหลังผ่านการตรวจสอบ CloudFlareTaskS2 ราคางานละ 25 พอยต์ (≈ $3.75 / 1k) และ CloudFlareTaskS3 ราคางานละ 20 พอยต์ (≈ $3.00 / 1k) พารามิเตอร์ ผลลัพธ์ และประสิทธิภาพของทั้งสองประเภทเหมือนกัน ต่างกันที่ราคาเท่านั้น คืนผลแบบอะซิงโครนัส งานหนึ่งใช้เวลาประมาณ 6 ถึง 35 วินาที ขึ้นอยู่กับแต่ละเว็บไซต์ หากแก้ไม่สำเร็จหรือหมดเวลา ระบบจะคืนพอยต์อัตโนมัติ

POSThttps://api.yescaptcha.com/createTaskendpoint ทั่วโลก
POSThttps://cn.yescaptcha.com/createTaskendpoint จีน
  • ซอร์สของหน้ามี __cf_chl_rt_tk หรือ cdn-cgi/challenge-platform และชื่อหน้าคือ Just a moment... แสดงว่าเป็นหน้าตรวจสอบแบบ 5 วินาที หน้าตรวจสอบที่ให้ติ๊กช่อง “ยืนยันว่าคุณเป็นมนุษย์” ก็ใช้หน้านี้เช่นกัน
  • หากเป็นเพียงกล่องยืนยันของ Cloudflare ที่ฝังอยู่ในฟอร์ม นั่นคือ Turnstile ไม่ต้องใช้หน้านี้
  • หากใช้ไลบรารีอย่าง requests แล้วได้ 403 และ “Just a moment…” แต่เปิดในเบราว์เซอร์ได้ตามปกติ มักเป็นเพราะถูกบล็อกจาก TLS fingerprint เท่านั้น ให้เปลี่ยนไปใช้ไลบรารีที่เลียนแบบ TLS fingerprint ของเบราว์เซอร์ได้ (เช่น curl_cffi) ก็จะเรียกได้ โดยไม่ต้องผ่านการตรวจสอบ
ประเภทงานราคารูปแบบการคืนผลลัพธ์หมายเหตุ
CloudFlareTaskS2$3.75 / 1k; 25 พอยต์/งาน · ¥25 / 1kแบบอะซิงโครนัสใช้พร็อกซีของคุณเอง
CloudFlareTaskS3$3.00 / 1k; 20 พอยต์/งาน · ¥20 / 1kแบบอะซิงโครนัสใช้พร็อกซีของคุณเอง

ราคาเป็นดอลลาร์สหรัฐเป็นเพียงค่าประมาณที่ US$1 ≈ ¥6.67 งานจะถูกหักเป็นพอยต์

ฟิลด์ประเภทจำเป็นคำอธิบาย
typestringใช่ประเภทงาน ดูค่าที่ใช้ได้ในหัวข้อ "ประเภทงานและราคา" ของหน้านี้
websiteURLstringใช่URL แบบเต็มของหน้าเว็บที่อยู่หลังหน้าตรวจสอบ ต้องเป็น URL สาธารณะที่ขึ้นต้นด้วย http:// หรือ https:// เท่านั้น ระบบจะปฏิเสธ IP ภายในเครือข่ายและชื่อโฮสต์ภายในเครื่องหรือภายในเครือข่าย เช่น localhost
proxystringใช่พร็อกซีในรูปแบบสตริงเดียว: http://user:[email protected]:8080 (พร็อกซี HTTP ระบุบัญชีและรหัสผ่านหรือไม่ก็ได้) หรือ socks5://proxy.example.com:1080 (ไม่มีบัญชีและรหัสผ่าน) ไม่รองรับพร็อกซี https:// และ SOCKS5 ที่มีบัญชีและรหัสผ่าน และจะปฏิเสธแอดเดรสภายในเครื่องหรือภายในเครือข่าย ทุกคำขอที่เปิดหน้าเว็บเป้าหมายจะผ่านพร็อกซีนี้
userAgentstringไม่โดยทั่วไปไม่ต้องส่ง ระบบใช้เฉพาะ User-Agent ของ Chrome บนเดสก์ท็อป Linux เท่านั้น ค่าอื่น (Windows, macOS, มือถือ, เบราว์เซอร์อื่น) จะถูกละเว้น สำหรับคำขอถัดไปให้ใช้ user_agent จากผลลัพธ์เสมอ
waitLoadbooleanไม่ค่าเริ่มต้นคือ false หากส่ง true หลังผ่านการตรวจสอบแล้ว งานจะรอจนกิจกรรมเครือข่ายของหน้าเว็บสงบลงก่อนจึงคืนผลลัพธ์ ทำให้ content มีเนื้อหาที่โหลดแบบไดนามิกมากขึ้น แต่ใช้เวลาเพิ่มอีกไม่กี่วินาที
requiredCookiesarrayไม่รายชื่อ Cookie ที่ต้องได้รับ เป็นอาร์เรย์ของสตริง เช่น ["cf_clearance"] หากระบุ งานจะสำเร็จก็ต่อเมื่อได้ครบทั้งหมด มิฉะนั้นจะคืน ERROR_CAPTCHA_UNSOLVABLE และคืนพอยต์ หากไม่ระบุ ระบบจะพยายามขอ cf_clearance แต่ถ้าได้ Cookie อื่นเท่านั้นก็ถือว่าสำเร็จและหักพอยต์ ดังนั้นหากต้องการ cf_clearance ให้ระบุอย่างชัดเจน
blockImagebooleanไม่หากส่ง true จะไม่โหลดรูปภาพบนหน้าเว็บเป้าหมาย (ยกเว้นรูปที่การตรวจสอบของ Cloudflare ต้องใช้) เพื่อประหยัดทราฟฟิกของพร็อกซี
postDataobjectไม่หากระบุ ระบบจะส่งไปยัง websiteURL ด้วย POST แบบเดียวกับฟอร์ม HTML ทั่วไป (application/x-www-form-urlencoded) โดยแต่ละคีย์คือช่องของฟอร์มและค่าจะถูกส่งเป็นสตริง เช่น {"name": "hi"} ต้องเป็นอ็อบเจกต์

ต้องระบุ proxy และทุกคำขอที่เปิดหน้าเว็บเป้าหมายจะผ่านพร็อกซีนี้ cf_clearance ผูกกับ IP ขาออก ดังนั้นการเข้าเว็บไซต์เป้าหมายหลังจากนี้ต้องใช้พร็อกซีตัวเดียวกัน

รูปแบบ รองรับหรือไม่
http://user:[email protected]:8080 รองรับ: พร็อกซี http แบบมีบัญชีและรหัสผ่าน
http://proxy.example.com:8080 รองรับ: พร็อกซี http แบบไม่มีบัญชีและรหัสผ่าน
socks5://proxy.example.com:1080 รองรับ: พร็อกซี socks5 แบบไม่มีบัญชีและรหัสผ่าน socks5h:// จะถูกจัดการเหมือน socks5://
socks5://user:[email protected]:1080 ไม่รองรับ คืนค่า ERROR_PROXY_INCORRECT หากต้องใช้บัญชีและรหัสผ่านให้ใช้พร็อกซี http แทน
https://proxy.example.com:443 หรือโปรโตคอลอื่น หรือไม่มีพอร์ต ไม่รองรับ คืนค่า ERROR_PROXY_BANNED ไม่ใช่ แต่คืนค่า ERROR_PROXY_INCORRECT
ที่อยู่เครื่องตัวเอง เครือข่ายภายใน หรือที่อยู่สงวน เช่น 127.0.0.1, 192.168.x.x, 10.x.x.x หรือโดเมนที่ resolve ไปยังที่อยู่เหล่านี้ ปฏิเสธ คืนค่า ERROR_PROXY_BANNED

โดยทั่วไปไม่ต้องส่ง userAgent เราใช้ Chrome เดสก์ท็อปบน Linux ในการผ่านการตรวจสอบ ดังนั้นจะใช้เฉพาะ User-Agent ของ Chrome เดสก์ท็อปบน Linux เท่านั้น ส่วนอื่น ๆ (Windows, macOS, มือถือ หรือเบราว์เซอร์อื่น) จะถูกละเลย เพราะจากการทดสอบจริง หากสภาพแวดล้อมจริงของเบราว์เซอร์ไม่ตรงกับ User-Agent การตรวจสอบของ Cloudflare จะไม่ผ่าน คำขอถัดไปทั้งหมดให้ใช้ user_agent จากผลลัพธ์

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"]
}
}
  • หากต้องการใช้ CloudFlareTaskS2 ให้เปลี่ยนเฉพาะ type ส่วนอื่นเหมือนเดิม
  • หากส่ง requiredCookies เป็น ["cf_clearance"] แล้วไม่ได้ cf_clearance งานจะล้มเหลวและคืนพอยต์ หากไม่ส่ง กรณีที่ไม่ได้ cf_clearance แต่ได้ Cookie อื่น ก็ถือว่าสำเร็จและหักพอยต์
  • หากต้องการส่งฟอร์ม ให้เพิ่ม postData เช่น {"name": "hi"} ระบบจะส่งไปยัง websiteURL ในรูปแบบ POST form

หลังสร้างงาน ให้เรียก getTaskResult ทุก 5 วินาที ขั้นตอนเหมือนงานแบบอะซิงโครนัสอื่น ๆ ดู 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>..."
}
}

ค่า Cookie และ request header ข้างต้นเป็นเพียงตัวอย่าง ให้ใช้ค่าที่ API คืนมาจริง

ฟิลด์ประเภทคำอธิบาย
cookiesobjectCookie ทั้งหมดในเบราว์เซอร์หลังผ่านการตรวจสอบ (ออบเจ็กต์แบบชื่อเป็นค่า) โดยทั่วไปมี cf_clearance หากระบุ requiredCookies จะมีทุกรายการในนั้นรวมอยู่ด้วย ใช้ร่วมกับ user_agent ที่คืนมาและพร็อกซีที่คุณระบุ
user_agentstringUser-Agent ที่เบราว์เซอร์ใช้จริงในการผ่านการตรวจสอบ (Chrome เดสก์ท็อปบน Linux) cf_clearance ผูกกับค่านี้ คำขอถัดไปทั้งหมดจึงต้องใช้ค่านี้
request_headersobjectrequest header ที่เบราว์เซอร์ส่งในคำขอล่าสุดไปยังหน้าเว็บเป้าหมาย แนะนำให้ใช้ซ้ำในคำขอถัดไป
headersobjectresponse header ของหน้าเว็บเป้าหมายหลังผ่านการตรวจสอบ
contentstringซอร์ส HTML ของหน้าเว็บเป้าหมายหลังผ่านการตรวจสอบ
  1. คำขอถัดไปต้องใช้ cookies ที่คืนมา, user_agent ที่คืนมา และพร็อกซีตัวเดียวกับตอนสร้างงานพร้อมกัน cf_clearance ผูกกับ User-Agent และ IP ขาออก หากอย่างใดอย่างหนึ่งไม่ตรงกัน หน้าตรวจสอบ 5 วินาทีจะปรากฏอีกครั้ง
  2. ควรส่ง request header ตาม request_headers และใช้ TLS fingerprint ที่ตรงกับเบราว์เซอร์ (เช่น พารามิเตอร์ impersonate ของ curl_cffi)
  3. cf_clearance มีอายุการใช้งาน (กำหนดโดยเว็บไซต์เป้าหมาย บางเว็บนานถึง 1 ชั่วโมง) ภายในช่วงนี้ไม่ต้องผ่านการตรวจสอบซ้ำ หากส่งคำขอถี่เกินไป Cloudflare อาจบล็อก IP
  4. หากต้องการเพียงเนื้อหาของหน้าเว็บ ใช้ content ได้โดยตรง ไม่ต้องขอหน้าเว็บอีกครั้ง

ข้อผิดพลาดที่คืนตอนสร้างงานจะไม่หักพอยต์ หากสร้างงานสำเร็จแล้วล้มเหลวหรือหมดเวลา ระบบจะคืนพอยต์อัตโนมัติ API คืนเพียงรหัสข้อผิดพลาดและคำอธิบายทั่วไป สาเหตุที่แท้จริงให้ดูจากตารางด้านล่าง

รหัสข้อผิดพลาด คืนค่าเมื่อใด แก้ไขอย่างไร
ERROR_REQUIRED_FIELDS ตอนสร้างงาน: ไม่มี websiteURL หรือ proxy เพิ่มฟิลด์ที่จำเป็นทั้งสองรายการ
ERROR_ILLEGAL_PARAMETERS ตอนสร้างงาน: websiteURL ไม่ใช่ URL สาธารณะที่ขึ้นต้นด้วย http:// / https://, postData ไม่ใช่ object หรือ requiredCookies ไม่ใช่อาร์เรย์ของสตริง ตอนเรียกดูผลลัพธ์: resolve โดเมนของ URL เป้าหมายผ่านพร็อกซีไม่ได้ แก้ไขพารามิเตอร์ ตรวจสอบการสะกด URL และดูว่าพร็อกซีเข้าถึงเว็บไซต์นี้ได้หรือไม่
ERROR_PROXY_INCORRECT ตอนสร้างงาน: รูปแบบพร็อกซีไม่ถูกต้อง ไม่มีพอร์ต ใช้พร็อกซี https:// หรือ socks5 ที่มีบัญชีและรหัสผ่าน แก้ตามรูปแบบใน “ข้อกำหนดของพร็อกซี” ข้างต้น หากต้องใช้บัญชีและรหัสผ่านให้ใช้พร็อกซี http
ERROR_PROXY_BANNED ตอนสร้างงาน: พร็อกซีเป็นที่อยู่เครื่องตัวเอง เครือข่ายภายใน หรือที่อยู่สงวน หรือพร็อกซีนี้เชื่อมต่อไม่ได้หลายครั้งในเวลาสั้น ๆ ตอนเรียกดูผลลัพธ์: Cloudflare ของเว็บไซต์เป้าหมายบล็อก IP ของพร็อกซีนี้โดยตรง (หน้า “Sorry, you have been blocked”, “Access denied”) เปลี่ยนพร็อกซี IP คุณภาพดีผ่านได้ง่ายกว่า
ERROR_PROXY_CONNECT_REFUSED เชื่อมต่อพร็อกซีไม่ได้ (ปฏิเสธการเชื่อมต่อ หรือ resolve โดเมนของพร็อกซีไม่ได้) หรือเปิดหน้าเว็บผ่านพร็อกซีแล้วการเชื่อมต่อถูกปฏิเสธหรือถูก reset ตรวจสอบที่อยู่และพอร์ตของพร็อกซี ยืนยันว่าพร็อกซีออนไลน์และอนุญาตการเข้าถึงจากภายนอก หากยังล้มเหลวให้เปลี่ยนพร็อกซี
ERROR_PROXY_CONNECT_TIMEOUT เชื่อมต่อพร็อกซี หรือเปิดหน้าเว็บผ่านพร็อกซี แล้วหมดเวลา เปลี่ยนไปใช้พร็อกซีที่เร็วและเสถียรกว่า
ERROR_PROXY_NOT_AUTHORISED บัญชีหรือรหัสผ่านของพร็อกซีไม่ถูกต้อง ตรวจสอบบัญชีและรหัสผ่านใน proxy อักขระพิเศษต้องทำ URL encode
ERROR_PROXY_TLS_ERROR TLS handshake ผิดพลาดตอนเปิดหน้าเว็บผ่านพร็อกซี ตรวจสอบว่าที่อยู่ พอร์ต และโปรโตคอลของพร็อกซีไม่ได้กรอกผิด หากยังล้มเหลวให้เปลี่ยนพร็อกซี
ERROR_CAPTCHA_UNSOLVABLE ไม่ผ่านการตรวจสอบภายในเวลาที่กำหนด ผ่านแล้วแต่ยังค้างอยู่ที่หน้าตรวจสอบ หรือไม่ได้ Cookie ที่ระบุใน requiredCookies เปลี่ยนพร็อกซีแล้วลองใหม่ สำหรับบางเว็บไซต์ติดต่อฝ่ายสนับสนุนได้
ERROR_NO_SLOT_AVAILABLE ตอนสร้างงาน: คิวเต็ม ตอนเรียกดูผลลัพธ์: รอคิวนานเกินไปและยังไม่เริ่ม คืนพอยต์แล้ว รอสองสามวินาทีแล้วสร้างงานใหม่
ERROR_TASK_TIMEOUT งานไม่เสร็จภายในเวลาที่กำหนด สร้างงานใหม่ หากหมดเวลาต่อเนื่อง มักเป็นเพราะพร็อกซีช้าเกินไป

ดูรหัสข้อผิดพลาดทั้งหมดที่ รหัสข้อผิดพลาด