작업 유형
reCAPTCHA v2
RecaptchaV2TaskProxyless프록시 불필요
reCAPTCHA v2는 ‘로봇이 아닙니다’ 체크박스와 그 보이지 않는(invisible) 버전입니다. API는 gRecaptchaResponse 토큰을 반환하며, 이 토큰을 페이지의 폼과 함께 제출하면 됩니다.
프록시 불필요: 당사 인프라에서 해결합니다. 대상 사이트가 토큰을 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. 토큰을 제출할 때도 같은 값을 사용하세요. |
cookies | string | 선택 | 대상 사이트의 쿠키(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