タスクタイプ
reCAPTCHA v2
RecaptchaV2TaskProxylessプロキシ不要
reCAPTCHA v2は「私はロボットではありません」チェックボックスと、その非表示版です。APIはgRecaptchaResponseトークンを返すので、ページのフォームと一緒に送信してください。
プロキシ不要:当社のインフラから解決します。対象サイトがトークンをIPに紐付けていない場合に最適です。
リアルタイムメトリクス(24時間)
このタイプのリアルタイムメトリクスは、ローンチ後にステータスページに表示されます。
タスクパラメータ
| パラメータ | 型 | 必須 | タスクパラメータ |
|---|---|---|---|
type | string | 必須 | RecaptchaV2TaskProxyless |
websiteURL | string | 必須 | CAPTCHAが表示されるページの完全なURL。 |
websiteKey | string | 必須 | サイトキー(data-sitekey、またはanchorリクエストのkパラメータ)。 |
isInvisible | boolean | 任意 | 非表示のreCAPTCHA v2(チェックボックスなし)の場合はtrue。 |
recaptchaDataSValue | string | 任意 | ページがdata-sを使用している場合のその値(一部のGoogleサービス)。 |
userAgent | string | 任意 | 解決に使うUser-Agent。トークンを送信する際も同じものを使ってください。 |
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
RecaptchaV2Task$0.60 - reCAPTCHA v2 Enterprise
RecaptchaV2EnterpriseTaskProxyless$1.50 - reCAPTCHA v2 Enterprise
RecaptchaV2EnterpriseTask$1.50 - reCAPTCHA v3
RecaptchaV3TaskProxyless$0.90 - reCAPTCHA v3 Enterprise
RecaptchaV3EnterpriseTaskProxyless$2.00 - reCAPTCHA v3 Enterprise
RecaptchaV3EnterpriseTask$2.00