Postmanでsolvethreeをテストする

著者:solvethree読了時間:1分

認証情報を含まないPostmanコレクションをインポートし、非公開の環境値を設定して、「タスクを作成」を1回送信します。その後、「タスクを取得」で、同じタスクが完了するまで確認します。このコレクションには、追加のタスクを送信する自動テストやスクリプトはありません。

このページの内容

コレクションをインポートして設定する

  1. 1.

    ダウンロードしたJSONをインポートする

    Postmanで「インポート」を選択し、コレクションファイルを選びます。このファイルには、Bearer認証を継承し、変数プレースホルダーを使用する「タスクを作成」と「タスクを取得」が含まれています。

  2. 2.

    サイトのプロファイルを確認する

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

  3. 3.

    非公開の環境値を設定する

    このテスト用の環境を作成して選択してください。プロキシの認証情報も含め、以下の値は非公開で設定してください。シークレットをコレクションに直接記載したり、シークレットが入力された状態でエクスポートしたりしないでください。

  4. 4.

    Bearer認証を設定する

    コレクションレベルで「Bearerトークン」を選択し、ワークスペースのAPIキーを格納した非公開の環境変数を参照してください。両方のリクエストは、認証を継承する設定のままにします。APIは、Authorization: Bearerに続けてそのキーを指定する形式を受け付けます。

手動テスト用の環境値
手動テスト用の環境値
変数入力する内容
SOLVETHREE_API_KEY非公開のワークスペースAPIキー。コレクションのBearerトークンはこの変数を参照します。
SITE対象のホスト名。ページの完全なURLではありません。
ACTION対象へのリクエストで使用するreCAPTCHAアクション。
PROXYこのテストで使用するHTTPまたはHTTPSプロキシURL。必要に応じて認証情報も含めます。
REQUEST_ID論理的に新しいタスクごとに設定する新しい値。使用できるのは1–64文字のASCII英字、数字、アンダースコア、ハイフンです。
TASK_ID最初は空にしておきます。作成後、返されたidをここにコピーしてください。

「タスクを作成」を1回送信する

「タスクを作成」を開きます。このリクエストは、選択した環境の値を設定した生のJSON本文を使い、https://api.solvethree.com/v1/tasks にPOSTを送信します。

Postman · 非公開の環境変数値を使ったリクエスト本文
{
  "site": "{{SITE}}",
  "action": "{{ACTION}}",
  "proxy": "{{PROXY}}",
  "requestId": "{{REQUEST_ID}}"
}

このリクエストはデフォルトでreCAPTCHA Enterprise v3を使用します。type フィールドや url フィールドは追加しないでください。単一の proxy を指定するため、proxyCandidates も追加しないでください。この2つのフィールドは、どちらか一方だけが必要です。

送信前に REQUEST_ID を設定し、「送信」を1回クリックしてください。まずHTTPレスポンスを確認します。成功以外の場合は、本文を成功したタスクのレスポンスとして扱わず、リクエストのエラーを確認してください。無効な入力はそのまま繰り返し送信せず、修正してください。

作成レスポンスが成功した場合は、返された id を非公開の環境値 TASK_ID にコピーしてください。進捗を確認するために「タスクを作成」を再度クリックしないでください。

既存のタスクを取得する

「タスクを取得」を開き、TASK_ID に返されたタスクIDが設定されていることを確認します。このリクエストは同じAPIのGET /v1/tasks/:idを使用します。手動で送信し、HTTPレスポンスを確認してから、タスクの status を確認してください。

各タスクステータスに応じた対応
各タスクステータスに応じた対応
ステータス次の操作
pendingまたはsolvingタスクはまだ完了していません。しばらく待ってから、同じTASK_IDで「タスクを取得」を再度送信してください。
ready取得を停止してください。タスクには使用可能なソリューションが含まれています。
failed取得を停止してください。errorCodeとerrorを確認し、変更が必要な箇所を判断してください。解決に失敗した場合は返金されます。

HTTP 200または201だけでは、ソリューションの準備完了を意味しません。準備完了を示すのは status: ready だけです。この手動テストではタスクの作成と取得を確認しますが、対象のウェブサイトが結果を受け入れるかどうかは確認しません。

続けてreCAPTCHAトークンを本来の対象に送信する場合は、返された userAgent と secChUa のブラウザー識別情報、および成功したプロキシを使用してください。IPを切り替えたり、無関係なブラウザー識別情報を混在させたりしないでください。準備が完了したトークンでも、対象に拒否される場合があります。

「タスクを作成」がタイムアウトした場合

接続がタイムアウトしても、作成が失敗したとは限りません。タスクIDがある場合は、そのタスクを取得してください。IDを受け取っていない場合は、同じ REQUEST_ID と変更していないタスク入力で「タスクを作成」を再送信してください。これにより、論理的に別のタスクを作成するのではなく、既存のタスクを復旧できます。

レスポンスが失われたという理由だけで、新しい REQUEST_ID を生成しないでください。同じIDを異なるタスク入力で再利用すると競合します。意図的に新しいタスクを開始する場合に、新しいIDを使用してください。

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

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

ワークスペースを作成
Postmanでsolvethreeをテストする · solvethree