Cloudflare Turnstile
ウィジェット- どこで見るか
- ページまたはフォーム内のウィジェット
- 返されるもの
cf-turnstile-responseのトークン- キャップモンスターページ
- このページ: Cloudflare Turnstile ソルバー
最終更新日:
Cloudflare Challenge ウィジェットと Turnstile ウィジェットは同じように見える場合があります。チャレンジは必ずしも別個の「ちょっと待ってください…」ページであるとは限りません。スタイルを設定したり、サイトに埋め込んだり、通常の Turnstile ウィジェットのように見せたりすることができるため、見た目で区別することはできません。
cf-turnstile-responseのトークン__cf_chl_f_tk= の challenge-form によって識別されます。cf_clearance クッキーこの表には、4 つの Cloudflare Turnstile 解決サービスの価格、解決時間、解決成功率がリストされています。
| パラメータ | CapMonster Cloud | 2Captcha | Anti-Captcha | DeathByCaptcha |
|---|---|---|---|---|
1000 ソルあたりの価格 (から) | $ 1.30 | $1.45 | $2.00 | $2.89 |
解決する時間 | 6.24秒* | 16.9秒 | 20.33秒 | ~13秒 |
解決成功率 | 99%* | 96% | 96% | 96% |
2Captcha、Anti-Captcha、および DeathByCaptcha は、それぞれの所有者の商標です。 CapMonster Cloud はこれらの団体とは関係ありません。パフォーマンス指標と価格の比較は、02.10.2026 時点での公開データと内部ベンチマークに基づいています。
今すぐ独自のターゲット サイトで安定性をテストしてください。 100% の成功率を保証するものではありません。CAPTCHA のタイプとターゲット サイトの構成はいつでも変更される可能性があります。
$0.10
新規ユーザーは、CapMonster Cloud を試すために $0.10 のテスト残高を取得します。
1. CapMonster Cloud に登録してください。
2. アカウントに関連付けられた電子メールを使用して、ライブチャット またはsupport@capmonster.cloud を通じてサポートにメッセージを送信してください。
所有するページ、またはテストが許可されているページで、Playwright、Puppeteer、または Selenium を使用して、CI/CD でサインアップ、チェックアウト、フォームのフローを実行します。
保護されたフォームとエンドポイントがリリースやウィジェットの変更後も機能し続けることを確認します。
Cloudflare Turnstile を使用する開いているページから公開データを収集します。
invisible ボット チェックに依存するサイトで自動化された支援ワークフローをサポートします。
ワークフローがキャプチャに到達したときに、エージェントが MCP を通じてトークンをリクエストできるようにします。
公開されているデータや、所有しているサイト、またはテストを許可されているサイトでは、CapMonster Cloud を使用します。許可なくログインまたはペイウォールの背後にあるサードパーティのデータを収集することは禁止されています。
Cloudflare Turnstile は、画像パズルの代わりに、クライアント側のブラウザー信号とリスク評価を通じて訪問者を検証します。 Managed (推奨)、Non-Interactive、Invisible の 3 つのウィジェット モードで出荷されます。 CapMonster Cloud はそれらすべてを自動的に処理します。タスクでモードを指定することはありません。
出典: Cloudflare ドキュメント — ウィジェット タイプ · はじめましょう · Turnstile Cloudflare チャレンジ
Turnstile は、訪問者のリスク レベルに基づいて、non-interactive チェックとチェックボックスのどちらかを自動的に選択します。解読するための画像やテキストはありません。
読み込みスピナーを備えた表示可能なウィジェット。チェックは訪問者の操作なしで実行されます。
チェックは完全にバックグラウンドで実行されます。ウィジェットや読み込みインジケーターは表示されません。
ページはウィジェットの初期化コードをロードします。 Cloudflare は必要な JS を返し、ウィジェットがレンダリングされます。
ウィジェット モードと Cloudflare のリスク信号に基づいて、ウィジェットはインタラクティブなチャレンジを表示するかどうかを決定します。
クライアント側の callback は、1 回限り、300 秒間有効なトークンを受け取ります。ウィジェットが <form> 内にある場合、トークンは非表示フィールド cf-turnstile-response としても自動的に追加されます。
ページはフォーム データとともにトークンをバックエンドに送信します。
サーバーは、トークンを確認するために Cloudflare の Siteverify API を呼び出します。
出典: Cloudflare ドキュメント — ウィジェットを埋め込む · トークンを検証する
Turnstile トークンは、訪問者を検証した後にウィジェットが生成する文字列です。ウィジェットはそれを cf-turnstile-response という名前の非表示のフォームフィールドに保存し、ウィジェットの callback にも渡します。次に、サイトのサーバーはトークンを Cloudflare の Siteverify API に送信して確認します。
Cloudflare のドキュメント によると、トークンのプロパティ:
生成後300秒(5分間)有効です。
単回使用: 2 回目に検証すると、timeout-or-duplicate エラーが返されます。
最大 2048 文字まで。
Siteverify API を通じてサーバー上で検証されます。
CapMonster Cloud はキャプチャ パラメータを受け取り、サーバー上で処理して、すぐに使用できるトークンを返します。このトークンをフォームに挿入すると、ユーザーの介入なしでチェックに合格します。
この段階で、API キー、キャプチャ タイプ、およびそのパラメータを送信します。このサービスは、後で結果を取得するために使用できる一意の taskId を返します。
必須パラメータ
| パラメータ | 説明 |
|---|---|
| タイプ | TurnstileTask |
| websiteURL | キャプチャが解決されるページの URL |
| websiteKey | Turnstile サイトキー。フォーマット: 0x4AAAAAAABUYP0XeMJF0xoy |
オプションパラメータ
| パラメータ | 説明 |
|---|---|
| userAgent | ブラウザUser-Agent。推奨: CapMonster Cloud でサポートされている現在の値を渡します。最新の値はhttps://capmonster.cloud/api/useragent/actualで取得できます。 |
| pageAction | キャプチャが読み込まれるときに、callback 関数で見つかるアクション フィールド |
| データ | cData パラメータから取得されたデータフィールドの値 |
| プロキシタイプ | http — 通常の HTTP/HTTPS プロキシ。 https — http が機能しない場合はこれを試してください (一部のカスタム プロキシに必要)。 socks4 — SOCKS4 プロキシ。 socks5 — SOCKS5 プロキシ |
| プロキシアドレス | プロキシのIPアドレス(IPv4/IPv6)。透過プロキシとローカル マシン上のプロキシは許可されません |
| プロキシポート | プロキシポート |
| プロキシログイン | プロキシのユーザー名 |
| プロキシパスワード | プロキシパスワード |
プロキシの有無にかかわらず、同じ TurnstileTask タイプが使用されます。
エンドポイント:
https://api.capmonster.cloud/createTaskリクエスト:
{
"clientKey": "API_KEY",
"task": {
"type": "TurnstileTask",
"websiteURL": "https://yourwebsite.com/page-with-turnstile",
"websiteKey": "your-website-key"
}
}応答:
{
"errorId": 0,
"taskId": 407533072
}タスクを作成した後、ソリューションのステータスをポーリングします。
エンドポイント:
https://api.capmonster.cloud/getTaskResultリクエスト:
{
"clientKey": "API_KEY",
"taskId": 407533072
}応答:
{
"errorId": 0,
"status": "ready",
"solution": {
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
"token": "0.iGX3xsyFCkbGePM3jP4P4khLo6TrLukt8ZzBvwuQOvbC...f61f3082"
}
}| プロパティ | 種類 | 説明 |
|---|---|---|
| トークン | 文字列 | 入力フィールドで、または callback 関数を呼び出すときにトークンを使用します。 |
返されたトークンを cf-turnstile-response フィールドに挿入するか、ウィジェットの callback に渡し、5 分以内にフォームを送信します。 Cloudflare トークンは 300 秒後に期限切れになり、検証できるのは 1 回だけです。 Playwright、Puppeteer、Selenium のコード例は、以下のFAQ にあります。
Turnstile タスクを作成するには、ウィジェットが実行されるページから 2 つの値が必要です。サイト キー (websiteKey) と、ページで設定されている場合はアクション名 (pageAction) です。
<div class="cf-turnstile" data-sitekey="SITE_KEY"← websiteKey
data-action="ACTION"></div>← pageActionturnstile.render('#container', {
sitekey: 'SITE_KEY',← websiteKey
action: 'ACTION',← pageAction
callback: function (token) { /* ... */ }
});キャプチャ付きのサイトを開きます。
キャプチャ要素を右クリックし、「Inspect」を選択します。
サイトキーを見つけます。 Elements タブでは、data-sitekey 属性 (websiteKey) です。 Turnstile サイト キーは 0x4AAAAAAABUYP0XeMJF0xoy のようになります。
アクションを見つけます: ウィジェットのレンダリング呼び出し (キャプチャのロード時に実行される callback 関数) または data-action 属性で。サイトキーは、その callback 関数内にもあります。ページにアクションが設定されていない場合は、パラメーターを省略しておきます。
値を自動的に収集するには、Playwright などのヘッドレス ブラウザにページをロードし、レンダリングされたウィジェットから値を読み取ります。 JavaScript、Python、C# の例は、CapMonster Cloud ドキュメント にあります。
一部の値はページが読み込まれるたびに変更されるため、値を収集したらすぐにタスクを解決してください。
createTask で CAPTCHA 解決タスクを作成し、getTaskResult で結果を取得する方法を示すコード例です。ローコード ワークフローの場合は、公式の CapMonster Cloud n8n ノード を使用します。
websiteURL と websiteKey を取得します。getTaskResult が ready ステータスを返したこと、および挿入する前に solution.token を取得したことを確認してください。Cloudflare Siteverify (timeout-or-duplicate、invalid-input-secret など) によって返されるエラーは、サイト所有者に関係します。 の「Siteverify エラー コード」を参照してください。
Turnstile で保護された Web サイトを実行している場合: トークンを確認し、設定をテストします
POST https://challenges.cloudflare.com/turnstile/v0/siteverify
secret=YOUR_SECRET_KEY
response=TOKENサイトを実行すると、サーバーは POST リクエストを https://challenges.cloudflare.com/turnstile/v0/siteverify に送信することで、すべての Turnstile トークンを検証します。エンドポイントは application/x-www-form-urlencoded と JSON を受け入れ、常に JSON を返します。必須パラメータ: secret (ウィジェットの秘密キー) および response (トークン)。オプション: remoteip および idempotency_key。 success を確認し、設定している場合は、応答内の action と hostname も確認します。
トークンは 300 秒間有効で、検証できるのは 1 回だけです。詳細については、Cloudflare の 検証ガイド をご覧ください。
Cloudflare はダミーのサイトキーと秘密キーを提供するため、実際の課題を引き起こすことなく Turnstile の実装をテストできます。テスト サイトキーは、localhost を含む任意のドメインで機能し、ダミー トークン XXXX.DUMMY.TOKEN.XXXX を生成します。ダミー トークンはダミー秘密キーによってのみ受け入れられ、本番秘密キーはそれらを拒否します。
<div class="cf-turnstile"
data-sitekey="1x…AA">
</div>
cf-turnstile-response:
"XXXX.DUMMY.TOKEN.XXXX"いつも通ります
いつも失敗する
いつも通ります
いつも失敗する
インタラクティブなチャレンジを強制します
常に検証に合格します
検証は常に失敗します
「トークンはすでに使用されています」エラーを返します (タイムアウトまたは重複)
Cloudflare の完全な参照: Turnstile テスト。
検証が失敗した場合、Cloudflare の Siteverify API は error-codes 配列を返します。以下の表に、各コードとその意味を示します。
{
"success": false,
"error-codes": [
"timeout-or-duplicate"
]
}シークレットパラメータが指定されていませんでした
秘密キーが無効か期限切れです
応答パラメーター (トークン) が指定されていませんでした
トークンが無効、不正、または期限切れです
リクエストの形式が正しくありません
トークンはすでに検証されているか、有効期限が切れています
内部エラーが発生しました。リクエストを再試行してください
Siteverify は success: true を返すことができますが、hostname または action が期待するものと一致しない場合でも、サーバーはトークンを拒否する必要があります。
CapMonster Cloud による Cloudflare Turnstile の解決に関する簡潔な回答:モード、プロキシ、トークン、テスト、Siteverify エラー。
Cloudflare Turnstile は、Cloudflare の CAPTCHA に代わるもので、画像パズルの代わりにブラウザーの信号とリスク評価を通じて訪問者を検証します。 3 つのウィジェット モードがあります。 Managed (推奨): Cloudflare は、訪問者のリスクに基づいて、non-interactive チェックボックスとチェックボックスのどちらかを選択します。 Non-interactive: インタラクションを必要としない読み込みスピナーを備えた表示ウィジェット。 Invisible: ウィジェットがまったくありません。 CapMonster Cloud は 3 つすべてを自動的に処理するため、タスクでモードを指定する必要はありません。
いいえ、TurnstileTask はプロキシなしで動作し、プロキシ フィールド (proxyType、proxyAddress、proxyPort、proxyLogin、proxyPassword) はオプションです。ターゲット サイトの地理に一致するプロキシを使用すると、地理に依存するページでの結果が向上するため、両方の構成をテストする価値があります。透過プロキシとローカル マシン上のプロキシは許可されません。独自のプロキシを使用しない場合、CapMonster Cloud は組み込みプロキシ (IP アドレス 65.21.190.34) を通じてタスクを解決します。
DevTools を開き、data-sitekey 属性 (ページにアクションが設定されている場合は data-action) を持つ要素を見つけて、値をコピーします。 Turnstile サイトキーは 0x4AAAAAAABUYP0XeMJF0xoy のようになります。一部の値はページが読み込まれるたびに変更されるため、タスクを作成する直前に値を抽出します。詳しい手順は、上記のセクションに記載されています。
cf-turnstile-response は、Turnstile トークンを保持する非表示のフォーム フィールドです。トークンは 300 秒 (5 分間) 有効で、検証できるのは 1 回だけです。その後、Siteverify は timeout-or-duplicate エラーを返します。 CapMonster Cloud から受け取ったトークンをすぐに送信し、送信 ごとに新しいトークンをリクエストします。
Turnstile トークンを挿入するには、非表示の応答フィールド (cf-turnstile-response という名前の入力) を見つけて、それを CapMonster Cloud から取得したトークンに設定します。ここでは、3 つの自動化フレームワーク全体でこれを行う方法を示します。
Playwright / Puppeteer (Node.js):
const token = "YOUR_TOKEN";
await page.evaluate((t) => {
document.querySelector('[name="cf-turnstile-response"]').value = t;
}, token);
await page.click('#submit-btn');Selenium (Python):
token = "YOUR_TOKEN"
driver.execute_script("document.querySelector('[name=\"cf-turnstile-response\"]').value = arguments[0];", token)
driver.find_element("id", "submit-btn").click()フォームが callback 関数 (ウィジェットの data-callback 属性) を通じてトークンを検証する場合は、代わりにトークンを使用してその関数を呼び出します。
Cloudflare のダミーキーを使用してください。クライアントで、サイトキーを 1x00000000000000000000AA (常に成功)、2x00000000000000000000AB (常に失敗)、または 3x00000000000000000000FF (対話型チャレンジを強制) に設定します。サーバーでは、1x0000000000000000000000000000000AA などのダミーの秘密鍵を使用します。ダミー サイトキーは、localhost を含む任意のドメインで機能し、ダミー秘密キーのみが受け入れるトークン XXXX.DUMMY.TOKEN.XXXX を生成します。完全なリストは、上記のテストセクションにあります。
トークンが 300 秒より古い場合、すでに検証されている場合、または秘密鍵が間違っている場合、Siteverify は success: false を返します。また、返された hostname または action が期待するものと一致しない場合、サーバーはトークンを拒否する場合もあります。応答内の error-codes 配列を確認し、Siteverify エラー コード テーブル を確認してください。送信ごとに新しいトークンをリクエストし、受信したらすぐに送信します。
* 100% の成功率を保証するものではありません。CAPTCHA の種類とターゲット サイトの構成はいつでも変更される可能性があります。 CapMonster Cloud は、Cloudflare Turnstile の解決に高い成功率をもたらします。 CapMonster Cloud チームの内部月次ベンチマークに基づいています。実際の解決速度と成功率は、対象サイト、サーバー負荷、ネットワーク状況によって異なります。
Cloudflare および Turnstile は、Cloudflare, Inc. の商標です。CapMonster Cloud は、Cloudflare と提携または承認されていません。このサービスは、公的に利用可能なデータ、独自の Web サイトまたは承認された Web サイト、画像認識およびアクセシビリティのテストを目的としています。許可なくログインまたはペイウォールの背後にあるサードパーティのデータを収集することは禁止されています。あなた自身のアカウントは影響を受けません。作業を開始する前に、データの法的地位を決定します。