ガイド
タスク(トークン)
reCAPTCHA v2

ReCaptchaV2: reCAPTCHA v2の解決

TIP

createTaskメソッドでタスクを作成し、getTaskResultメソッドで結果を取得します。

サポートするタスクのtypes

  • ReCaptchaV2Task このタスクタイプには独自のプロキシが必要です。
  • ReCaptchaV2EnterpriseTask このタスクタイプには独自のプロキシが必要です。
  • ReCaptchaV2TaskProxyLess サーバー内蔵のプロキシを使用します。
  • ReCaptchaV2EnterpriseTaskProxyLess サーバー内蔵のプロキシを使用します。

タスクの作成

createTaskメソッドを使用して認識タスクを作成します。

タスクを作成する前に、以下の情報を確認できます。

無効な応答を受け取った場合は、次の情報を学ぶことができます。

タスクオブジェクトの構造

プロパティタイプ必須説明
typeString必須ReCaptchaV2Task
ReCaptchaV2TaskProxyLess
websiteURLStringRequiredreCaptchaを使用しているウェブサイトのWebアドレス、一般的には固定値です。 (例: https://google.com)
websiteKeyStringRequiredドメインの公開キー、ほとんど更新されないことがあります。 (例: b989d9e8-0d14-41sda0-870f-97b5283ba67d)
proxyStringOptionalプロキシの使用方法を学びます
pageActionStringOptionalv2サイトの場合:anchor要求にsaパラメータがある場合、そのパラメータを渡す
v3サイトの場合:actionパラメータを見つけるために検索grecaptcha.execute
enterprisePayloadObjectOptionalエンタープライズ検索grecaptcha.enterprise.render、sパラメータを渡す
isInvisibleBoolOptionalいいえ、私はロボットではありませんが、それでも課題が発生する場合は、trueを渡してください。通常はv2ステルスモードで必要です
isSessionBoolOptionalsessionモード、有効にするとクッキーとして使用されるrecaptcha-ca-t値が返され、通常はv3に表示されます

注意:あるウェブサイトはrecaptcha-ca-e値を必要として、通常v2の中で現れて、もしこの値があるならば自動的に戻って、その他の追加のパラメータの設定を必要としません
apiDomainStringOptional認証コードをロードするドメイン名。通常はこのパラメータを渡す必要はありません
http://www.google.com/
http://www.recaptcha.net/
WARNING

パラメータをどのように渡すべきかわからない場合は、私たちのブログcapsolver拡張を使用してパラメータを自動取得します。

tokenのスコアが低いことがわかった場合は、拡張されたjsonデータをカスタマーサービスに送信して最適化します。

例のリクエスト

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": {
      "s": "SOME_ADDITIONAL_TOKEN" // Optional
    },
    "isInvisible": false, // Optional
    "pageAction": "submit", // Optional
    "apiDomain": "", // Optional
    "proxy": "http:ip:port:user:pass", // socks5:ip:port:user:pass, Optional
  }
}

タスクを提出した後、成功した場合はレスポンスで ‘タスク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", // User-Agent
        "createTime": 1671615324290, // token 生成時間
        "gRecaptchaResponse": "3AHJ......", // token
        "recaptcha-ca-t": "AbEM......", // 一部のv 3サイトにはsessionモードがあり、isSessionを有効にするとこのパラメータが返され、cookieとして使用されます
        "recaptcha-ca-e": "Abp_......" // 一部のv 2サイトにはこのパラメータがあり、cookieとして使用されています。この値があれば自動的に戻ります
    },
    "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-",
          })