Jenis tugas
reCAPTCHA v2 Enterprise
RecaptchaV2EnterpriseTaskProxylesstanpa proxy
reCAPTCHA v2 adalah kotak centang “Saya bukan robot” beserta varian tak terlihatnya. API mengembalikan token gRecaptchaResponse yang Anda kirim bersama formulir halaman.
Varian Enterprise: situs memuat enterprise.js dan dapat meneruskan data tambahan di enterprisePayload — kirim apa adanya.
Tanpa proxy: kami menyelesaikan dari infrastruktur kami sendiri. Paling cocok jika situs target tidak mengikat token ke IP.
Metrik langsung, 24 jam
Metrik langsung untuk jenis ini akan muncul di halaman status setelah peluncuran.
Parameter tugas
| Parameter | Tipe | wajib | Parameter tugas |
|---|---|---|---|
type | string | wajib | RecaptchaV2EnterpriseTaskProxyless |
websiteURL | string | wajib | URL lengkap halaman yang berisi captcha. |
websiteKey | string | wajib | Kunci situs (data-sitekey atau parameter k dari permintaan anchor). |
isInvisible | boolean | opsional | true untuk reCAPTCHA v2 tak terlihat (tanpa kotak centang). |
recaptchaDataSValue | string | opsional | Nilai data-s, jika halaman menggunakannya (beberapa layanan Google). |
enterprisePayload | object | opsional | Parameter Enterprise tambahan, misalnya s, dalam bentuk objek. |
apiDomain | string | opsional | Domain tempat widget dimuat: google.com atau recaptcha.net. |
userAgent | string | opsional | User-Agent yang dipakai untuk penyelesaian; gunakan yang sama saat mengirim token. |
cookies | string | opsional | Cookie untuk situs target dalam format key1=value1; key2=value2. |
Contoh
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": "RecaptchaV2EnterpriseTaskProxyless",
"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