ประเภทงาน
reCAPTCHA v3
หน้านี้แปลด้วยเครื่องจากเวอร์ชันภาษาจีน อาจมีข้อผิดพลาด โปรดยึดเวอร์ชันภาษาจีนเป็นหลัก
reCAPTCHA v3 ไม่มีช่องติ๊กและไม่มีรูปภาพ เพราะหน้าเว็บจะให้คะแนนผู้เข้าชมอยู่เบื้องหลัง YesCaptcha จะคืนค่า token (gRecaptchaResponse) ให้คุณนำไปส่งให้เว็บไซต์เป้าหมาย RecaptchaV3TaskProxyless ราคางานละ 20 พอยต์ (≈ $3.00 / 1k) ทำงานแบบอะซิงโครนัส: เรียก createTask ก่อน แล้วเรียก getTaskResult ทุก 5 วินาที หากแก้ไม่สำเร็จหรือหมดเวลา ระบบจะคืนพอยต์ให้อัตโนมัติ
https://api.yescaptcha.com/createTaskendpoint ทั่วโลกhttps://cn.yescaptcha.com/createTaskendpoint จีนเนื้อหาคำขอเป็น JSON และใช้ clientKey ในการยืนยันตัวตน สร้างงานที่ endpoint ใด ให้ตรวจสอบผลลัพธ์ที่ endpoint นั้น
กรณีที่ควรใช้
หัวข้อที่มีชื่อว่า “กรณีที่ควรใช้”- ซอร์สโค้ดของหน้าเว็บมี
grecaptcha.execute(...)หรือโหลดrecaptcha/api.js?render=รหัสไซต์: reCAPTCHA v3 ทั่วไป - เรียกใช้
grecaptcha.enterprise.execute(...)หรือโหลดrecaptcha/enterprise.js: reCAPTCHA v3 เวอร์ชัน Enterprise ให้ใช้RecaptchaV3EnterpriseTaskหรือRecaptchaV3EnterpriseTaskM1
วิธีตรวจสอบดูได้ที่ ระบุประเภท CAPTCHA
ประเภทงานและราคา
หัวข้อที่มีชื่อว่า “ประเภทงานและราคา”| ประเภทงาน | ราคา | รูปแบบการคืนผลลัพธ์ | หมายเหตุ |
|---|---|---|---|
RecaptchaV3TaskProxyless | $3.00 / 1k; 20 พอยต์/งาน · ¥20 / 1k | แบบอะซิงโครนัส | |
RecaptchaV3TaskProxylessM1 | $3.75 / 1k; 25 พอยต์/งาน · ¥25 / 1k | แบบอะซิงโครนัส | |
RecaptchaV3TaskProxylessM1S7 | $4.50 / 1k; 30 พอยต์/งาน · ¥30 / 1k | แบบอะซิงโครนัส | ขอคะแนน (score) 0.7 ไม่ต้องใช้พารามิเตอร์เพิ่มเติม |
RecaptchaV3TaskProxylessM1S9 | $5.25 / 1k; 35 พอยต์/งาน · ¥35 / 1k | แบบอะซิงโครนัส | ขอคะแนน (score) 0.9 ไม่ต้องใช้พารามิเตอร์เพิ่มเติม |
RecaptchaV3EnterpriseTask | $3.00 / 1k; 20 พอยต์/งาน · ¥20 / 1k | แบบอะซิงโครนัส | |
RecaptchaV3EnterpriseTaskM1 | $3.75 / 1k; 25 พอยต์/งาน · ¥25 / 1k | แบบอะซิงโครนัส |
ราคาเป็นดอลลาร์สหรัฐเป็นเพียงค่าประมาณที่ US$1 ≈ ¥6.67 งานจะถูกหักเป็นพอยต์
RecaptchaV3TaskProxylessและRecaptchaV3TaskProxylessM1ใช้พารามิเตอร์เหมือนกันแต่ใช้เส้นทางต่างกัน จึงใช้สำรองแทนกันได้- หากเว็บไซต์เป้าหมายต้องการคะแนนสูง ให้ใช้
RecaptchaV3TaskProxylessM1S7(0.7) หรือRecaptchaV3TaskProxylessM1S9(0.9) ซึ่งไม่ต้องใส่พารามิเตอร์เพิ่ม
พารามิเตอร์คำขอ
หัวข้อที่มีชื่อว่า “พารามิเตอร์คำขอ”| ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
type | string | ใช่ | ประเภทงาน ดูค่าที่ใช้ได้ในหัวข้อ "ประเภทงานและราคา" ของหน้านี้ |
websiteURL | string | ใช่ | URL แบบเต็มของหน้าเว็บที่แสดง CAPTCHA ให้ระบุเว็บไซต์ที่คุณเห็น CAPTCHA ไม่ใช่โดเมนของผู้ให้บริการ CAPTCHA |
websiteKey | string | ใช่ | คีย์ของเว็บไซต์ (sitekey) หาได้จากซอร์สโค้ดของหน้าเว็บหรือจากคำขอเครือข่าย โดยทั่วไปจะไม่เปลี่ยนแปลง |
pageAction | string | ไม่ | ค่า action ของ reCAPTCHA v3 ต้องตรงกับค่าที่หน้าเว็บส่งให้ grecaptcha.execute มิฉะนั้น token อาจใช้ไม่ได้ |
pageAction ต้องตรงกับ action ที่หน้าเว็บส่งใน grecaptcha.execute(รหัสไซต์, {action: '...'}) หากกรอกผิด เว็บไซต์อาจปฏิเสธ token วิธีค้นหาดูได้ที่ ค้นหาพารามิเตอร์ของ reCAPTCHA
ตัวอย่างคำขอ
หัวข้อที่มีชื่อว่า “ตัวอย่างคำขอ”{ "clientKey": "YOUR_CLIENT_KEY", "task": { "type": "RecaptchaV3TaskProxyless", "websiteURL": "https://example.com/login", "websiteKey": "SITE_KEY_OF_THE_PAGE", "pageAction": "login" }}curl -s https://api.yescaptcha.com/createTask \ -H 'Content-Type: application/json' \ -d '{ "clientKey": "YOUR_CLIENT_KEY", "task": { "type": "RecaptchaV3TaskProxyless", "websiteURL": "https://example.com/login", "websiteKey": "SITE_KEY_OF_THE_PAGE", "pageAction": "login" }}'
# Returns {"errorId":0,"taskId":"..."}; then poll every 5 seconds:curl -s https://api.yescaptcha.com/getTaskResult \ -H 'Content-Type: application/json' \ -d '{"clientKey": "YOUR_CLIENT_KEY", "taskId": "TASK_ID"}'import osimport time
import requests
API = "https://api.yescaptcha.com"CLIENT_KEY = os.environ["YESCAPTCHA_CLIENT_KEY"] # Read the clientKey from an environment variable
def call(method, payload): r = requests.post(f"{API}/{method}", json={"clientKey": CLIENT_KEY, **payload}, timeout=30) data = r.json() if data.get("errorId"): raise RuntimeError(f"{data.get('errorCode')}: {data.get('errorDescription')}") return data
def solve(task): task_id = call("createTask", {"task": task})["taskId"] for _ in range(36): # Poll every 5 seconds, for up to about 3 minutes time.sleep(5) result = call("getTaskResult", {"taskId": task_id}) if result.get("status") == "ready": return result["solution"] raise TimeoutError(task_id)
solution = solve({ "type": "RecaptchaV3TaskProxyless", "websiteURL": "https://example.com/login", "websiteKey": "SITE_KEY_OF_THE_PAGE", "pageAction": "login",})print(solution["gRecaptchaResponse"])const API = 'https://api.yescaptcha.com';const CLIENT_KEY = process.env.YESCAPTCHA_CLIENT_KEY; // Read the clientKey from an environment variable
async function call(method, payload) { const res = await fetch(`${API}/${method}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ clientKey: CLIENT_KEY, ...payload }), }); const data = await res.json(); if (data.errorId) throw new Error(`${data.errorCode}: ${data.errorDescription}`); return data;}
async function solve(task) { const { taskId } = await call('createTask', { task }); for (let i = 0; i < 36; i++) { // Poll every 5 seconds, for up to about 3 minutes await new Promise((r) => setTimeout(r, 5000)); const result = await call('getTaskResult', { taskId }); if (result.status === 'ready') return result.solution; } throw new Error(`timeout: ${taskId}`);}
const solution = await solve({ type: "RecaptchaV3TaskProxyless", websiteURL: "https://example.com/login", websiteKey: "SITE_KEY_OF_THE_PAGE", pageAction: "login",});console.log(solution.gRecaptchaResponse);เปลี่ยน websiteURL, websiteKey และ pageAction เป็นค่าของเว็บไซต์เป้าหมาย
ผลลัพธ์
หัวข้อที่มีชื่อว่า “ผลลัพธ์”{ "errorId": 0, "status": "ready", "solution": { "gRecaptchaResponse": "03AGdBq25SxXT-pmSeBXjzScW-EiocHwwpwqtk1QXlJnGnU..." }}| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
gRecaptchaResponse | string | token ที่ได้ ใช้ส่งให้เว็บไซต์เป้าหมาย ใช้ได้ครั้งเดียว มีผลประมาณ 120 วินาที แนะนำให้ใช้ภายใน 60 วินาที |
ระหว่างประมวลผลจะได้รับ {"errorId": 0, "status": "processing"} ให้ตรวจสอบอีกครั้งหลังจาก 5 วินาที หากเกิดข้อผิดพลาด ให้จัดการตาม errorCode ดูที่ รหัสข้อผิดพลาด วิธีส่ง token ที่ได้ ดูที่ ใช้ token ผ่าน reCAPTCHA
คำถามที่พบบ่อย
หัวข้อที่มีชื่อว่า “คำถามที่พบบ่อย”ทำไมบางครั้งเว็บไซต์จึงไม่ยอมรับ token
หัวข้อที่มีชื่อว่า “ทำไมบางครั้งเว็บไซต์จึงไม่ยอมรับ token”ใน v3 เว็บไซต์เป้าหมายจะตัดสินจากคะแนน และเว็บไซต์สามารถปรับเกณฑ์ได้ทุกเมื่อ จึงไม่ใช่ทุก token ที่จะผ่าน ตรวจสอบให้แน่ใจว่า pageAction ถูกต้อง หากเว็บไซต์ต้องการคะแนนสูงให้ลองใช้ M1S7 หรือ M1S9 หรือจะลองเปรียบเทียบกับประเภทอื่นในกลุ่มเดียวกันก็ได้
reCAPTCHA v3 เวอร์ชัน Enterprise กรอกอย่างไร
หัวข้อที่มีชื่อว่า “reCAPTCHA v3 เวอร์ชัน Enterprise กรอกอย่างไร”กรอก websiteURL, websiteKey, pageAction เหมือนเวอร์ชันทั่วไป แล้วเปลี่ยนประเภทเป็น RecaptchaV3EnterpriseTask หรือ RecaptchaV3EnterpriseTaskM1
token ใช้ได้นานเท่าใด
หัวข้อที่มีชื่อว่า “token ใช้ได้นานเท่าใด”ใช้ได้ครั้งเดียว และมีผลประมาณ 120 วินาที แนะนำให้ส่งภายใน 60 วินาที
บทความที่เกี่ยวข้อง
หัวข้อที่มีชื่อว่า “บทความที่เกี่ยวข้อง”- ระบุประเภท CAPTCHA
- ค้นหาพารามิเตอร์ของ reCAPTCHA (รวมวิธีค้นหา
pageAction) - ใช้ token ผ่าน reCAPTCHA