ReCaptchaV3: reCAPTCHA v3の解決
TIP
createTaskメソッドでタスクを作成し、getTaskResultメソッドで結果を取得します。
サポートするタスクのtypes
ReCaptchaV3Task
このタスクタイプには独自のプロキシが必要です。ReCaptchaV3EnterpriseTask
このタスクタイプには独自のプロキシが必要です。ReCaptchaV3TaskProxyLess
サーバー内蔵のプロキシを使用します。ReCaptchaV3EnterpriseTaskProxyLess
サーバー内蔵のプロキシを使用します。
タスクの作成
createTaskメソッドを使用して認識タスクを作成します。
タスクを作成する前に、以下の情報を学ぶことができます。
無効な応答を受け取った場合は、次の情報を学ぶことができます。
タスクオブジェクトの構造
プロパティ | タイプ | 必須 | 説明 |
---|---|---|---|
type | String | Required | ReCaptchaV3Task ReCaptchaV3TaskProxyLess |
websiteURL | String | Required | reCaptchaを使用しているウェブサイトのWebアドレス、一般的には固定値です。 (例: https://google.com) |
websiteKey | String | Required | ドメインの公開キー、ほとんど更新されないことがあります。 (例: b989d9e8-0d14-41sda0-870f-97b5283ba67d) |
pageAction | String | Required | ウィジェットアクションの値。ウェブサイトの所有者は、このパラメータを介してユーザーがページで何をしているかを定義します。デフォルト値: verify 例: grecaptcha.execute('site_key', {action:'login_test'}) 。 |
minScore | Double | Optional | 0.1から0.9までの値。 |
proxy | String | Optional | プロキシの使用方法を学びます |
enterprisePayload | Object | Optional | Enterpriseペイロード |
apiDomain | String | Optional | reCAPTCHA Enterpriseをロードするためのドメインアドレス。 例: • http://www.google.com/ • http://www.recaptcha.net/ どうして必要なのか分からない場合はパラメータを使用しないでください。 |
userAgent | String | Optional | エミュレーションで使用されるブラウザのUser-Agent。現代のブラウザのシグネチャを使用する必要があります。それ以外の場合、Googleは「ブラウザを更新してください」と要求します。 |
cookies | Array | Optional | クッキーの使用方法を学びます |
anchor | String | Optional | reCAPTCHA Enterprise v2、v2 invisible、v3、v3 enterprise 0.9スコアのすべてのバージョンをバイパスする方法 |
reload | String | Optional | reCAPTCHA Enterprise v2、v2 invisible、v3、v3 enterprise 0.9スコアのすべてのバージョンをバイパスする方法 |
例のリクエスト
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
// 必須
"type": "ReCaptchaV3Task",
// 必須
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
// 必須
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
// 必須
"pageAction": "login",
// オプション
"minScore": 0.7,
"enterprisePayload": {
// オプション, ウェブサイトがrecaptcha enterpriseを使用する場合に必要です
"s": "SOME_ADDITIONAL_TOKEN"
},
// オプション
"apiDomain": "",
// オプション
"userAgent": "",
// オプション
"cookies": [
{
"name": "__Secure-3PSID",
"value
": "AIKkIs3ch7YsxxxxYIzRqNZPGm60cdHozgwfUW1o8MF3kRcf8clJscTI6OtCqVpqNF8I88pLBJkUgQ"
},
{
"name": "__Secure-3PAPISID",
"value": "TKS1iVpGxYbxxxk0n2o/AytXQTb6RUALqxSEL"
}
],
// オプション
"proxy": "http:ip:port:user:pass",
// socks5:ip:port:user:pass
// オプション, 成功して結果を取得したらこのパラメータを削除できます
"anchor": "base64 content",
"reload": "base64 content"
}
}
タスクを提出した後、成功した場合はレスポンスで ‘タスクID’ を受け取るはずです。 タスクIDを受け取らなかった場合は、エラーコード:エラーの完全なリストを読んでください。
例のレスポンス
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
結果の取得
タスクIDを取得したら、タスクIDを送信して解決策を取得する必要があります。レスポンス構造はgetTaskResultで説明されています。
システムの負荷に応じて、結果は1秒
から10秒
の間で受け取ることができます。
例のリクエスト
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
例のレスポンス
{
"errorId": 0,
"errorCode": null,
"errorDescription": null,
"solution": {
"userAgent": "xxx", //ユーザーエージェント
"expireTime": 1671615324290, //トークンの有効期限
"gRecaptchaResponse": "3AHJ....." //解決トークン
},
"status": "ready"
}
SDKを使用したリクエスト
# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
import capsolver
# capsolver.api_key = "..."
solution = capsolver.solve({
"type": "ReCaptchaV3TaskProxyLess",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_kl-", ...
})