UNLOCK API
reCAPTCHA v2

reCAPTCHA v2

วิธีส่งงาน reCAPTCHA v2 ไปที่ UNLOCK API ด้วย createTask หรือ in.php: ชื่อประเภทงาน พารามิเตอร์ทุกตัว ออบเจ็กต์ solution ฟิลด์ proxy และตัวอย่างโค้ด 7 ภาษา
ราคา
$0.45 $0.00045 ต่องาน
สิ่งที่ส่ง
URL หน้าเว็บและ site key (data-sitekey)
สิ่งที่ได้
Token สำหรับ g-recaptcha-response

ภาพรวมและราคา

ชื่อประเภทงาน

ใช้ชื่อแรกเพื่อแก้โดยไม่ใช้ proxy ใช้ชื่อที่สองและเพิ่มฟิลด์ proxy เพื่อแก้ผ่าน proxy ของคุณเอง ราคาเท่ากัน
RecaptchaV2TaskProxylessไม่ใช้พร็อกซี
RecaptchaV2Taskผ่านพร็อกซีของคุณ

ชื่ออื่นที่รับได้: NoCaptchaTaskProxyless, NoCaptchaTask

ออบเจ็กต์ task

type
Stringจำเป็น
ชื่อประเภทงาน ไม่สนตัวพิมพ์เล็กหรือใหญ่ RecaptchaV2TaskProxyless | RecaptchaV2Task
websiteURL
Stringจำเป็น
ที่อยู่เต็มของหน้าที่มี CAPTCHA ขึ้นต้นด้วย http:// หรือ https://
websiteKey
Stringจำเป็น
site key ของ widget CAPTCHA หาได้ในซอร์สของหน้า (เช่น data-sitekey)
recaptchaDataSValue
Stringไม่บังคับ
ค่าของพารามิเตอร์ data-s ใช้ในบางหน้าของ Google
isInvisible
Booleanไม่บังคับ
true สำหรับ widget แบบมองไม่เห็น
userAgent
Stringไม่บังคับ
User-Agent ของเบราว์เซอร์ที่ใช้ระหว่างแก้ ใช้ค่าเดียวกันเมื่อส่งคำตอบ
cookies
Stringไม่บังคับ
คุกกี้ของหน้า เป็นคู่ name=value คั่นด้วยเครื่องหมายอัฒภาค
apiDomain
Stringไม่บังคับ
โดเมนที่ widget โหลดมา: google.com หรือ recaptcha.net

ฟิลด์ที่ไม่ได้ระบุไว้ที่นี่จะส่งต่อให้ผู้แก้ตามที่ส่งมา

ฟิลด์ proxy

ใช้กับชื่อประเภทแบบ proxy เท่านั้น ส่งเป็นฟิลด์แยก หรือเป็นสตริง proxy เดียวก็ได้
proxyType
Stringจำเป็น
http, https, socks4 หรือ socks5
proxyAddress
Stringจำเป็น
IP address หรือชื่อโฮสต์ของ proxy
proxyPort
Integerจำเป็น
พอร์ตของ proxy
proxyLogin
Stringไม่บังคับ
ชื่อผู้ใช้ proxy ถ้า proxy ต้องใช้
proxyPassword
Stringไม่บังคับ
รหัสผ่าน proxy ถ้า proxy ต้องใช้
proxy
String
ฟิลด์ proxy ทั้งหมดในสตริงเดียว เช่น http://user:pass@1.2.3.4:8080

การใช้ proxy

คำขอ

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "RecaptchaV2TaskProxyless",
    "websiteURL": "https://example.com/login",
    "websiteKey": "6LcR_RsTAAAAAFJR_5ZdbQd0SMxL7yIDmSXH1-lo"
  }
}

ออบเจ็กต์ solution

คืนใน solution เมื่อ status เป็น ready
gRecaptchaResponse
String
token ใส่ในฟิลด์ g-recaptcha-response (หรือ h-captcha-response สำหรับ hCaptcha) หรือส่งให้ callback ของหน้า
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "gRecaptchaResponse": "03AGdBq25SxXT-pmSeBXjzScW..."
  },
  "cost": "0.00045",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

ตัวอย่างโค้ด

import time, requests

API = "https://unlock-api.com"
KEY = "YOUR_API_KEY"

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "RecaptchaV2TaskProxyless",
      "websiteURL": "https://example.com/login",
      "websiteKey": "6LcR_RsTAAAAAFJR_5ZdbQd0SMxL7yIDmSXH1-lo"
    }
}).json()
if task["errorId"]:
    raise SystemExit(task["errorCode"])

for _ in range(60):   # 60 x 5 s = the 5 minute task limit
    time.sleep(5)
    r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if r["errorId"]:
        raise SystemExit(f"{r['errorCode']}: {r.get('errorDescription', '')}")   # failed tasks are refunded
    if r["status"] == "ready":
        print(r["solution"]["gRecaptchaResponse"])
        break
else:
    raise SystemExit("timed out")

method ฟอร์มของ in.php

งานเดียวกันด้วยคำขอแบบฟอร์มดั้งเดิม res.php คืนคำตอบเป็นข้อความ
in.php, res.php
curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&method=userrecaptcha&googlekey=SITE_KEY&pageurl=https://example.com/login&json=1"
# {"status":1,"request":"1001"}

curl -s "https://unlock-api.com/res.php?key=YOUR_API_KEY&action=get&id=1001&json=1"
# {"status":0,"request":"CAPCHA_NOT_READY"}  then  {"status":1,"request":"ANSWER"}

Form API: in.php และ res.php