Skip to main content
この記事では、ユーザーが Recaptcha2 認証画像を認識してクリックすることなく、Website Key を提出するだけでバックエンドで自動的にデコードを実現し、認証を完了できる Recaptcha2 プロトコル認識 API の接続説明を紹介します。

申請プロセス

Recaptcha2 プロトコル認識 API を使用するには、まず Ace Data Cloud コンソール にアクセスして API Token を取得し、保管してください。 まだログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録とログインを促されます。完了後、現在のページに自動的に戻ります。 1つの API Token でプラットフォームのすべてのサービスを呼び出すことができ、各サービスごとに個別に申請する必要はありません。 初回申請時には無料のクレジットが付与され、無料で体験できます。クレジットが不足した場合は、コンソール で共通残高をチャージできます。
📘 完全なドキュメント:Recaptcha2 プロトコル認識 API →

基本的な使用法

まず、基本的な使用方法を理解します。処理する必要のある認証コードのウェブサイトの URL を入力するだけで、処理された結果を得ることができます。最初に website_url フィールドを簡単に渡す必要があります。私たちのサンプルサイトは https://www.google.com/recaptcha/api2/demo です。この website_url ページで website_key を取得する必要があります。まずこのウェブページを開き、F12 を押してコンソールに入ります。最後に Element ページで recaptcha-demo を全体検索すると、以下の結果が得られます:

ここでの data-sitekey に対応する一連の文字列が website_key の値です。以下は具体的なパラメータ結果です:

ここでは、Request Headers を設定しています。これには以下が含まれます:
  • accept:受け取りたいレスポンス結果の形式。ここでは application/json、つまり JSON 形式を記入します。
  • authorization:API を呼び出すためのキー。申請後、直接ドロップダウンから選択できます。
さらに、Request Body を設定しています。これには以下が含まれます:
  • website_url:処理する必要のある認証コードのウェブサイトの URL。
  • website_key:Recaptcha2 におけるウェブサイトのキー識別子。
選択後、右側にも対応するコードが生成されていることがわかります。以下のように示されています:

「Try」ボタンをクリックするとテストが行えます。上の図のように、ここで以下の結果が得られました:
結果には複数のフィールドがあり、以下のように説明されています:
  • token、今回のRecaptcha2の検証結果です。
Recaptcha2の検証結果を取得できたことがわかります。これをPOSTまたはターゲットサイトに送信するために使用できます。一度限りの使用で、有効期限は120秒です。60秒以内の使用を推奨します。次に、処理されたtokenをターゲットサイトに送信するPythonのコードを提供します。 まず、サイトがどのようにPOSTリクエストを送信するかを確認する必要があります。そうすれば、生成されたtokenを渡すことができます。最初にF12コンソールを開き、手動で確認します。最後に、サイトがPOSTリクエストを送信したのを確認できます。このPOSTリクエストの構造を確認する必要があります。具体的な手順は以下の通りです:
  • まず手動で検証を行います。具体的には以下の画像の通りです:

  • 次にsubmitをクリックし、コンソールのnetworkの変化を観察します。具体的には以下の画像の通りです:

  • 今回のPOSTリクエストの構造を分析し、右クリックしてそのリクエストのCURLコードをコピーします。具体的には以下の画像の通りです:

上記の図から分析すると、今回のPOSTリクエストのURLは:https://www.google.com/recaptcha/api2/demoであり、私たちはパラメータ g-recaptcha-response を送信する必要があります。その後、処理されたトークンを以下のdataに渡すだけで、トークンを使用して検証する具体的なCURLコードは以下の通りです:
トークン検証に対応するPythonコードは以下の通りです:
その後、私たちはコードを実行し、コンソールがこのような結果になったことを観察しました:

最後に、私たちはRecaptcha2の検証プロトコルを通過しました。 また、対応する接続コードを生成したい場合は、生成されたものを直接コピーできます。例えば、CURLのコードは以下の通りです:
Pythonの接続コードは以下の通りです:

非同期モード(async)

デフォルトでは、APIは同期ブロッキングです:1回のリクエストは、トークン処理が完了するまで待機します。もし、複数のソルバーのローテーションを行っている場合、「タスクを提出した後、すぐにtask_idを取得し、他のソルバーを調整し、後で結果を取得する」ことを希望する場合は、リクエストボディに async: true を渡すことができます。 async: true を渡すと、インターフェースはすぐに task_id を返し、ブロックして待機しません:
その後、この task_id を使用して POST /captcha/tasks をポーリングします(3〜5秒ごとを推奨)して結果を取得します:
処理中は status: processing が返されます:
処理が完了すると、status: ready とトークンが返されます:
料金説明:非同期モードでは、タスクの作成と「処理中」のポーリングは課金されません;結果を成功裏に取得したときにのみ一度課金されます(同期モードの価格と同じです)。したがって、ローテーション中に未完了のタスクをキャンセルしても費用は発生しません。/captcha/tasks はすべてのキャプチャインターフェース(トークンと認識シリーズ)に共通で、同じ task_id でポーリングできます。

エラーハンドリング

APIを呼び出す際にエラーが発生した場合、APIは対応するエラーコードと情報を返します。例えば:
  • 400 token_mismatched:不正なリクエスト、パラメータが欠落または無効である可能性があります。
  • 400 api_not_implemented:不正なリクエスト、パラメータが欠落または無効である可能性があります。
  • 401 invalid_token:未認証、無効または欠落した認証トークン。
  • 429 too_many_requests:リクエストが多すぎます、レート制限を超えました。
  • 500 api_error:内部サーバーエラー、サーバーで何かがうまくいきませんでした。

エラー応答の例

結論

この文書を通じて、あなたはRecaptcha2プロトコルを使用してAPIを識別し、ユーザーがRecaptcha2の画像を認識してクリックすることなく、Website Keyを提出するだけでバックエンドで自動的にデコードし、検証を完了する方法を理解しました。この文書があなたがこのAPIをより良く接続し、使用するのに役立つことを願っています。何か問題があれば、いつでも私たちの技術サポートチームにお問い合わせください。