APIで標準のreCAPTCHA v3を解く

著者:solvethree読了時間:1分

標準の reCAPTCHA v3 では、タスク本文の recaptchaType を v3 に設定してください。reCAPTCHA Enterprise v3 では enterprise-v3 を使用します。この値は、フィールドを省略した場合のデフォルトでもあります。

このページの内容

プロファイル、ホスト名、アクション、プロキシを準備する

標準の v3 でも、ワークスペースで利用できる有効なサイトプロファイルが必要です。タスクを作成する前に、コンソールで対象サイトを設定してください。ホスト名とアクションを送信しても、プロファイルは作成されません。

  • site:accounts.example.com などの対象ホスト名。ページの完全な URL ではありません。
  • action:対象の reCAPTCHA 連携で使用されているアクション。対象が別のアクションを使用している場合は、例の login を置き換えてください。アクションの調べ方を参照してください。
  • proxy または proxyCandidates:どちらか一方だけを指定してください。この例では単一のプロキシを使用します。代わりに候補を使用する場合、リストには重複しない HTTP または HTTPS のプロキシ URL を最大 12 件指定できます。パス、クエリ、フラグメントは含めないでください。

標準の v3 タスクを送信する

この JSON 本文を POST https://api.solvethree.com/v1/tasks に送信してください。Authorization ヘッダーにワークスペースの API キーを指定し、Bearer スキームで認証します。キーはサーバー上で管理してください。

標準v3 · タスクの本文
{
  "site": "accounts.example.com",
  "action": "login",
  "recaptchaType": "v3",
  "proxy": "http://user:[email protected]:8080",
  "requestId": "v3-login-001"
}

recaptchaType は、site、action、proxy と同じトップレベルに指定します。reCAPTCHA には type フィールドや url フィールドを追加しないでください。

サンプルのホスト名、アクション、プロキシを、対象の値に置き換えてください。論理的に新しい解決処理ごとに、新しい requestId を使用します。作成がタイムアウトした場合は、同じ ID で同じタスク本文を再送信して、新たに作成するのではなく既存のタスクを復旧してください。その ID を異なる入力で再利用すると競合します。

準備完了を待ってトークンを送信する

  1. 1.

    最初に HTTP レスポンスを確認する

    本文をタスク結果として読み取る前に、成功以外の HTTP レスポンスを処理してください。ステータスを確認し、報告されたリクエストエラーを修正します。

  2. 2.

    完了するまでタスクを取得する

    作成時はデフォルトで最大 15 秒待機します。クライアントのタイムアウトには、ネットワークのオーバーヘッド分の余裕を持たせてください。ステータスが pending または solving の場合は、GET /v1/tasks/:id でタスクを取得します。GET ポーリングはデフォルトでは待機しません。ロングポーリングを行うには、JSON フィールドではなく URL クエリパラメーターとして、最大 15000 の waitMs を渡してください。ready または failed になったらポーリングを停止します。failed の場合は、errorCode と error を確認してから、再試行が適切かどうかを判断してください。

  3. 3.

    準備完了の解決結果を使用する

    意図した対象に、タスク ID ではなく solution.token を送信してください。返された userAgent と secChUa を、解決に成功したプロキシとともに使用します。解決から送信までの間に IP を切り替えたり、無関係なブラウザー識別情報に置き換えたりしないでください。

準備完了のトークンは、特定の reCAPTCHA スコアや対象による受け入れを証明するものではありません。reCAPTCHA v3 はリスクスコアとアクションを生成し、対象がバックエンドでそれらを評価します。トークンを送信したリクエストに対する、対象のレスポンスを確認してください。

最初のタスクを実行しましょう。

$5のワークスペースクレジットで始められます。

ワークスペースを作成
APIで標準のreCAPTCHA v3を解く · solvethree