ReCaptchaV2: reCAPTCHA v2の解決
TIP
createTaskメソッドでタスクを作成し、getTaskResultメソッドで結果を取得します。
サポートするタスクのtypes
ReCaptchaV2Task
このタスクタイプには独自のプロキシが必要です。ReCaptchaV2EnterpriseTask
このタスクタイプには独自のプロキシが必要です。ReCaptchaV2TaskProxyLess
サーバー内蔵のプロキシを使用します。ReCaptchaV2EnterpriseTaskProxyLess
サーバー内蔵のプロキシを使用します。
タスクの作成
createTaskメソッドを使用して認識タスクを作成します。
タスクを作成する前に、以下の情報を確認できます。
無効な応答を受け取った場合は、次の情報を学ぶことができます。
タスクオブジェクトの構造
プロパティ | タイプ | 必須 | 説明 |
---|---|---|---|
Type | String | 必須 | ReCaptchaV2Task ReCaptchaV2TaskProxyLess |
websiteURL | String | Required | reCaptchaを使用しているウェブサイトのWebアドレス、一般的には固定値です。 (例: https://google.com) |
websiteKey | String | Required | ドメインの公開キー、ほとんど更新されないことがあります。 (例: b989d9e8-0d14-41sda0-870f-97b5283ba67d) |
proxy | String | Optional | プロキシの使用方法を学びます |
pageAction | String | Optional | いくつかのサイトではアンカーエンドポイントにsaパラメータがあり、action値です。 |
enterprisePayload | Object | Optional | Enterpriseペイロード |
isInvisible | Bool | Optional | もしrecaptchaにpageActionがない場合、reloadリクエストボディコンテンツフラグが”fi”である |
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スコアのすべてのバージョンをバイパスする方法](https://www.capsolver.com/blog/reCAPTCHA/How-to-bypass-all-the-versions-reCAPTCHA-v2-v3) |
例のリクエスト
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
// 必須
"type": "ReCaptchaV2Task",
// 必須
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
// 必須
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
"enterprisePayload": {
// オプション, ウェブサイトがrecaptcha enterpriseを使用する場合に必要です
"s": "SOME_ADDITIONAL_TOKEN"
},
"isInvisible": false,
// オプション
"pageAction": "submit",
// オプション
"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": "ReCaptchaV2TaskProxyLess",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
})