solvethreeで初めてのCAPTCHA解決
バッチではなく、reCAPTCHA Enterprise の 1 件の解決から始めてください。ワークスペースの API キー、有効なサイトプロファイル、自分の HTTP プロキシが必要です。規模を拡大する前に、返されたトークンを対象サイトに送信してください。
このページの内容
1. ワークスペースと API キーを設定する
- 1.
登録してワークスペースを設定する
登録から始めてください。API キー、サイトプロファイル、クレジットには同じワークスペースを使用してください。
- 2.
キーを作成する
コンソールで「API キー」を開きます。「API キーを作成」を選択し、「キー名」を入力して、「キーを作成」を選択します。
- 3.
シークレットを保存する
「API キーを保存」に表示されるシークレットをコピーし、安全に保管してから「このキーを保存しました」を選択してください。「プレフィックスを表示」では、後から完全なシークレットを復元できません。キーはブラウザーのコードではなく、サーバーに保管してください。
初回クレジットは $5 です。資金を追加する場合、最低入金額は $10 です。reCAPTCHA の料金は 1,000 件の解決あたり $2.00 です。ready になったタスクは課金され、失敗した解決は返金されます。
2. 対象サイトのプロファイルを有効化する
- 1.
対象ページを追加する
サイトプロファイルを開き、「サイトを追加」を選択します。対象サイトの HTTPS ページ URL を入力し、Enterprise v3 を選択します。
- 2.
キャプチャアクションを設定する
連携する操作で必要なアクションを使用してください。以下のリクエスト例では login を使用しているため、対象サイトの実際のアクションが login の場合にのみ使用してください。ホスト名、キャプチャアクション、reCAPTCHA タイプの組み合わせごとに、プロファイルを 1 つ追加してください。
- 3.
有効になるまで待つ
「サイトを追加」を選択します。アカウントによっては、先に「クレジットを追加して続行」が表示されます。送信内容によっては、プロファイルがキャプチャ、検証、レビューの状態を経ることがあります。有効になってから続行してください。キャプチャにかかる時間は保証されません。キャプチャに失敗した場合は、再試行する前に理由を確認してください。
タスクでホスト名とアクションを送信しても、プロファイルは作成されません。この最初の解決では、プロファイルのキャプチャアクションをタスクに正確に指定してください。任意フィールドとアクションの選び方については、サイトプロファイルの設定を参照してください。
3. Enterprise リクエストを 1 件送信する
次の本文を POST https://api.solvethree.com/v1/tasks に送信します。Authorization ヘッダーで、Bearer の後にワークスペースの API キーを続けて認証してください。
{
"site": "accounts.example.com",
"action": "login",
"proxy": "http://user:[email protected]:8080",
"requestId": "example_login_001"
}siteを対象サイトのホスト名に置き換えてください。完全なページ URL ではありません。actionを最初の解決用に選択したアクションに置き換えてください。proxyを自分の HTTP プロキシの URL と認証情報に置き換えてください。このリクエストではプロキシを 1 つ使用します。proxyCandidatesを同時に送信しないでください。- この論理リクエストの
requestIdを決め、送信した入力とともに保存してください。使用できるのは 1–64 文字の ASCII 英数字、アンダースコア、ハイフンです。 typeとurlは含めないでください。recaptchaTypeを省略すると、リクエストはデフォルトで Enterprise v3 になります。
完全な Python 実装については、Python での reCAPTCHA Enterpriseを参照してください。ここでのリクエストは、事前に準備する必要がある値を示しています。
4. 完了するまでタスクを取得する
作成時に返されたタスク ID を保存してください。GET https://api.solvethree.com/v1/tasks/:id の :id をその ID に置き換え、同じ Bearer 認証で取得します。
- 本文を正常なタスク応答として読み取る前に、HTTP 応答が成功以外でないかを確認してください。
- ステータスが
pendingまたはsolvingの間は、ポーリングを続けてください。どちらのステータスにも、使用可能な解決結果は含まれていません。 - ステータスが
readyになったら、ポーリングを停止してsolutionを読み取ってください。 - ステータスが
failedになったら、ポーリングを停止してerrorCodeとerrorを確認してください。失敗した解決は返金されます。
ready の応答は次の形式です。これらのトークンとブラウザー識別情報の値はプレースホルダーであり、実際に使用できる解決結果ではありません。
{
"id": "example-task",
"status": "ready",
"solution": {
"token": "EXAMPLE_TOKEN",
"userAgent": "EXAMPLE_USER_AGENT",
"secChUa": "EXAMPLE_CLIENT_HINTS"
}
}5. 同じプロキシとブラウザー識別情報でトークンを送信する
- 1.
タスク ID ではなくトークンを送信する
対象サイトが reCAPTCHA トークンを受け取る所定の場所に
solution.tokenを設定してください。送信リクエストを確認し、タスク ID や古いトークンを送っていないことを確かめてください。 - 2.
返されたブラウザー識別情報を使用する
対象サイトへのリクエストには、
solution.userAgentとsolution.secChUaを、この解決で指定したものと同じプロキシとともに使用してください。無関係なブラウザー識別情報と組み合わせたり、別の対象 URL にトークンを送信したりしないでください。 - 3.
対象サイトの応答を確認する
対象サイトが意図した操作を受け入れたことを確認してください。ready のタスクは、solvethree が解決結果を生成したことを意味します。その後のリクエストを対象サイトが受け入れることを保証するものではありません。
バッチを開始する前に、この 1 件のリクエストが対象サイトに受け入れられることを確認してください。拒否された場合は、追加の解決を購入する前に、送信したトークン、ブラウザー識別情報、プロキシ、対象 URL を確認してください。
参照元とAPIリファレンス
最初のタスクを実行しましょう。
$5のワークスペースクレジットで始められます。