任務類型
reCAPTCHA v2
RecaptchaV2TaskProxyless無需代理
reCAPTCHA v2 就是「我不是機器人」核取方塊及其隱形版本。API 會回傳 gRecaptchaResponse token,讓你隨頁面表單一起送出。
無需代理:我們使用自有基礎設施解決。適合目標網站不會將 token 綁定 IP 的情況。
即時指標(24 小時)
此類型的即時指標將於上線後顯示在狀態頁面上。
任務參數
| 參數 | 類型 | 必填 | 任務參數 |
|---|---|---|---|
type | string | 必填 | RecaptchaV2TaskProxyless |
websiteURL | string | 必填 | 含有驗證碼之頁面的完整 URL。 |
websiteKey | string | 必填 | 網站金鑰(data-sitekey 或 anchor 請求中的 k 參數)。 |
isInvisible | boolean | 選填 | 隱形 reCAPTCHA v2(沒有核取方塊)時設為 true。 |
recaptchaDataSValue | string | 選填 | data-s 的值,僅在頁面有使用時需要(部分 Google 服務)。 |
userAgent | string | 選填 | 解決時使用的 User-Agent;送出 token 時請使用相同的值。 |
cookies | string | 選填 | 目標網站的 Cookie,格式為 key1=value1; key2=value2。 |
範例
import time
import requests
API = "https://"
KEY = "YOUR_API_KEY"
# 1. create a task: the price is held, not charged
task = requests.post(f"{API}/createTask", json={
"clientKey": KEY,
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "6Le-SITE-KEY",
},
}).json()
if task["errorId"]:
raise RuntimeError(task["errorCode"])
# 2. poll the result (or pass "callbackUrl" and get a signed webhook)
while True:
time.sleep(3)
res = requests.post(f"{API}/getTaskResult",
json={"clientKey": KEY, "taskId": task["taskId"]}).json()
if res["errorId"]:
raise RuntimeError(res["errorCode"])
if res["status"] == "ready":
print(res["solution"]["gRecaptchaResponse"])
break
其他任務類型
- reCAPTCHA v2
RecaptchaV2TaskUS$0.60 - reCAPTCHA v2 Enterprise
RecaptchaV2EnterpriseTaskProxylessUS$1.50 - reCAPTCHA v2 Enterprise
RecaptchaV2EnterpriseTaskUS$1.50 - reCAPTCHA v3
RecaptchaV3TaskProxylessUS$0.90 - reCAPTCHA v3 Enterprise
RecaptchaV3EnterpriseTaskProxylessUS$2.00 - reCAPTCHA v3 Enterprise
RecaptchaV3EnterpriseTaskUS$2.00