logo
bars
ソルブごとの支払い · API

Cloudflare Challenge ソルバー

CapMonster Cloud は、API を備えた Cloudflare Challenge ソルバーです。 token または cf_clearance Cookie が返されるため、手動の手順なしで自動化が続行されます。

最終更新日:

無料でテスト: $0.10 テスト残高 ↓
平均解決時間
12 – 14 s
成功率
99%
1000トークンあたり
$ 1.30

Cloudflare Challenge ソルバーの価格

キャプチャ
価格 (USD)
$ 1.30
1000トークン
Cloudflare Challenge または回転式改札口の選択

Cloudflare Challenge vs Cloudflare Turnstile

チャレンジと回転式改札口の見分け方

Cloudflare Challenge と Turnstile ウィジェットは同じように見える場合があります。チャレンジは、必ずしも独立した「ちょっと待ってください…」ページであるとは限りません。スタイルを設定したり、サイトに埋め込んだり、通常のターンスタイル ウィジェットのように見せたりすることができるため、外観で区別することはできません。

どの CapMonster Cloud ソルバーを使用するか

Cloudflare Turnstile

ウィジェット
どこで見るか
ページまたはフォーム内のウィジェット
返されるもの
cf-turnstile-response の token
キャップモンスターページ
Cloudflare Turnstile ソルバー

Cloudflare Challenge

403 · challenge-form
どこで見るか
サイトまたはインタースティシャル ページに埋め込まれたスタイル付きチェック。最初のリクエストの 403 と challenge-form と __cf_chl_f_tk= によって識別されます。
返されるもの
token または cf_clearance クッキー
キャップモンスターページ
このページ: Cloudflare Challenge ソルバー

これらの兆候が存在する場合、それは Cloudflare Challenge です。このページで Cloudflare Challenge ソルバーを使用すると、token または cf_clearance クッキーが返されます。それ以外の場合は、Cloudflare Turnstile ソルバーを使用します。

Cloudflare Challenge ソルバーの比較

この表には、4 つの Cloudflare Challenge 解決サービスの 1000 解決あたりの価格、平均解決時間、および解決成功率がリストされています。

パラメータCapMonster Cloud2キャプチャアンチキャプチャBestCaptchaSolver
1000 ソルブあたりの価格
$ 1.30$1.45$2.00$1.80
平均解決時間
12 – 14 s14 – 18 s18 – 22 s22 – 30 s
解決成功率
99%97%95%80%

プロバイダーによってリストされている Cloudflare Turnstile 価格。 Cloudflare Challenge は個別に記載されていません。

2Captcha、Anti-Captcha、および BestCaptchaSolver は、それぞれの所有者の商標です。 CapMonster Cloud はこれらの団体とは関係ありません。パフォーマンス指標は、2026 年 8 月 26 日に実施された内部ベンチマークに基づいています。価格の比較は、30.09.2026 時点で公開されているデータに基づいています。

無料でテストしてみよう

Cloudflare Challengeを数秒で解く

99% パス成功。今すぐ独自のターゲット サイトで安定性をテストしてください。 100% の成功率を保証するものではありません。CAPTCHA のタイプとターゲット サイトの構成はいつでも変更される可能性があります。

$0.10

新規ユーザーは、CapMonster Cloud を試すためにテスト残高で 0.10 ドルを受け取ります。

  1. 1. CapMonster Cloud に登録します。

  2. 2. アカウントに紐づくメールアドレスを添えて、ライブチャットまたは support@capmonster.cloud からサポートに連絡します。

クレジット カードなし · Python、Node.js、C# 用の既製 SDK

チームが Cloudflare Challenge ソリューションを使用する目的

QAとエンドツーエンドのテスト

所有するページ、またはテストが許可されているページで、Playwright、Puppeteer、または Selenium を使用して、CI/CD でサインアップ、チェックアウト、フォーム フローを実行します。

モニタリング

リリースおよびルール変更後も、Cloudflare Challenge の後ろのページがアクセス可能であることを確認してください。

公開されているデータ

Cloudflare Challenge で保護されている開いているページから公開データを収集します。

アクセシビリティ

読み込み前に確認ページを表示するサイトで自動化された支援ワークフローをサポートします。

AIエージェント

ワークフローがチャレンジに達したときに、エージェントが MCP を通じて token または cf_clearance Cookie をリクエストできるようにします。

正当な使用のみ

公開されているデータや、自分が所有しているサイト、またはテストを許可されているサイトには、CapMonster Cloud を使用します。許可なくログインまたはペイウォールの背後にあるサードパーティのデータを収集することは禁止されています。

Cloudflare チャレンジの種類

Cloudflare がチャレンジを発行およびチェックする方法

Cloudflare は、JS Challenge、Managed Challenge、Interactive Challenge の 3 種類のチャレンジ ページを提供します。チャレンジが表示されるかどうかは、WAF ルールまたは Bot Management によって決まります。 CapMonster Cloud は、以下の 3 つのチャレンジ タイプをカバーしています。 WAF / Bot Management はより幅広い製品であり、個別にリストされています。

Sources: Cloudflare ドキュメント — チャレンジの仕組み · インタースティシャル チャレンジ ページ · 攻撃中モード

「5秒チャレンジ」

1. JS Challenge

非インタラクティブなインタースティシャル テスト: ブラウザーは JavaScript を実行し、ページが読み込まれる前に Cloudflare が結果を採点します。ユーザー action は必要ありません。

表示される場所
バックグラウンドで検証する中間ページ
返される結果
cf_clearance cookie(デフォルト)

含むUnder Attack Mode

2. Managed Challenge

Cloudflare Managed Challenge を使用すると、Cloudflare はリクエストの特性とブラウザー信号から動的にチェックを選択します。 Under Attack ModeはManaged Challengeを使用します。

表示される場所
Cloudflare が検証の種類を選択する中間ページ
返される結果
cf_clearance cookie(デフォルト)

インタースティシャルページのウィジェット

3. Interactive Challenge

Interactive Challenge ページを通過するには、訪問者がチャレンジと対話する必要があります。

表示される場所
操作を伴う検証が必須の中間ページ
返される結果
cf_clearance cookie(デフォルト)

4. WAF / Bot Management

Cloudflare ボット チャレンジがいつ提供されるかを決定するルールとスコアリング レイヤー。 Cloudflare は、次のような検出エンジンを使用してこの決定を計算します。

表示される場所
リクエスト処理とリスク評価のルール層
返される結果
それ自体は何も返しません。リスクスコアに基づき、上記のアクション(またはブロック)を実行します

3 つのチャレンジ タイプよりも広範であり、それらの同義語ではありません。

  • Heuristics engine は、既知のボット フィンガープリントのデータベースに対してすべてのリクエストを照合します。
  • JS Detections engine ヘッドレス ブラウザにフラグを立てる、オプションの非表示のクライアント側 JavaScript チェック。
  • Machine Learning engine 毎日数十億のリクエストにわたるパターンからボット スコア 1 ~ 99 を生成する教師ありモデル。

Sources: ボット スコア · ボット検出エンジン · JavaScript 検出

Cloudflare Challenge ワークフロー

  1. 1. リクエスト

    ブラウザは保護されたページをリクエストします。 Cloudflare Bot Management は、TLS フィンガープリント、IP レピュテーション、および動作信号によってリクエストをスコアリングします。

  2. 2. ボットスコア

    ヒューリスティック、JS 検出、および機械学習エンジンは 1 ~ 99 のボット スコアを生成し、WAF ルールによってチャレンジに対応するかどうかが決定されます。

  3. 3. インタースティシャルページ

    リクエストが疑わしいと思われる場合、Cloudflare はステータス コード 403 の「ちょっと待ってください…」ページを返し、JS Challenge、Managed Challenge、または Interactive Challenge を実行します。

  4. 4. cf_clearance

    チェックに合格すると、Cloudflare は、訪問者とデバイスに関連付けられ、期間限定で有効な cf_clearance Cookie を発行します。

  5. 5. アクセス

    ブラウザは Cookie を使用して元のページを読み込みます。 Cloudflare はセッション動作 (Precursor clearance) を再評価し続けており、新たな課題に対処する可能性があります。

cf_clearance クッキーとは何ですか?

cf_clearance は、訪問者が Cloudflare Challenge を通過した後に Cloudflare が発行する Cookie です。ブラウザーは次のリクエストを保護されたサイトに送信し、繰り返しチャレンジすることなくページが開きます。

Cloudflare のドキュメント によると、Cookie のプロパティ:

訪問者とデバイス

訪問者と発行先のデバイスに関連付けられます。

生涯

限られた時間内で有効です (デフォルトでは 30 分。サイトは チャレンジ パッセージ で設定します): 長時間実行されるスクリプトは、有効期限が切れると再度チェックに合格する必要があります。

アクセス認証

それ自体は保証ではありません。Precursor clearance はセッションの動作を再評価し続けるため、Cookie の有効期限が切れていない場合でも、繰り返しチャレンジをトリガーする可能性があります。

cf_clearance Cookie を無効にするもの

バインディング

訪問者またはデバイスの変更

アクセスがリセットされます。Cookie は訪問者と発行先のデバイスに関連付けられます。

生涯

有効期限

Cookie は動作を停止します。スクリプトは再度チェックに合格する必要があります

行動

Precursor clearance

Cloudflare は、トラフィックが疑わしい場合に、クリアランス レベルを下げるかリセットして、繰り返しチャレンジを実行できます。

トークンまたは cf_clearance: どちらの結果を要求するか

CapMonster Cloud を使用して token または cf_clearance を取得する開発者向け

TurnstileTask の cloudflareTaskType パラメータによって、CapMonster Cloud が返す内容が決まります。ターゲット サイトの要求に応じてオプションを選択します。ページ上のチャレンジ callback には token、さらなるリクエストには cf_clearance Cookie を使用します。

トークンとcf_clearance

パラメータトークンcf_clearance
cloudflareTaskTypetokencf_clearance
プロキシオプションデフォルトで CapMonster Cloud プロキシ上で実行されます。必須独自のプロキシ
websiteKeyCloudflare Challenge キー、例: 0x4AAAAAAABUYP0XeMJF0xoy任意の文字列、例: xxxxxx
ページデータpageAction, data (cData), pageData (chlPageData)htmlPageBase64 — 403「ちょっと待ってください」ページの Base64
結果solution.tokensolution.cf_clearance
どこで使用するかページ上のチャレンジ callbackCookie: cf_clearance=<value> ヘッダーまたはブラウザーのコンテキスト

サポートされているプロキシ タイプ (cf_clearance)

proxyType説明
http通常の HTTP プロキシ
https一部のカスタム プロキシに使用します
socks4SOCKS4 プロキシ
socks5SOCKS5 プロキシ

パラメータの完全なリファレンス: Cloudflare Challenge タスクのドキュメント。

Cloudflare Challenge ソルバーの使用方法

CapMonster Cloud API は、cf_clearance ソルバーとして機能します。タスク パラメーターを受け取り、サーバー上で処理し、token または cf_clearance クッキーを返します。 Cloudflare Challenge を解決するには、API キーを取得し、タスクを送信し、結果をポーリングし、返された token または Cookie を独自のリクエストで使用するという 4 つの手順が必要です。

あなたのスクリプトCapMonster Cloud API対象サイト

API キーを取得します

  • CapMonster Cloudでアカウントを作成します。
  • ダッシュボード を開き、API キーを見つけます。
  • このキーをリクエストの clientKey パラメータとして使用します。

タスクを送信します — createTask

タイプ TurnstileTask で createTask を呼び出します。 cloudflareTaskType パラメータは、token または cf_clearance Cookie のどちらを返すかを決定します。ターゲット サイトの要件に応じてオプションを選択してください。 チャレンジとターンスタイルの見分け方を参照してください。

オプション 1 · チャレンジ (token) — デフォルトでは、CapMonster Cloud プロキシ上で実行されます。必須フィールド:

パラメータ説明
タイプTurnstileTask
websiteURL課題が解決されたページの URL
websiteKeyCloudflare Challenge キー、例: 0x4AAAAAAABUYP0XeMJF0xoy
cloudflareTaskTypetoken
pageActionキャプチャ callback の action フィールド、通常は managed または non-interactive
userAgent現在の UA は CapMonster Cloud でサポートされています。最新の値はhttps://capmonster.cloud/api/useragent/actualで入手できます。
データcDataパラメータの値
pageDatachlPageDataパラメータの値

オプション: apiJsUrl およびプロキシ フィールド。独自のプロキシは、サイトが token を受け入れない場合、または組み込みサービスが制限されている場合にのみ必要です。 IP 認証付き、ホワイトリスト 65.21.190.34。

リクエスト例:

json
{
  "clientKey": "API_KEY",
  "task": {
    "type": "TurnstileTask",
    "websiteURL": "https://yourwebsite.com/page-with-cf-challenge",
    "websiteKey": "your-website-key",
    "cloudflareTaskType": "token",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
    "pageAction": "your-page-action",
    "pageData": "your-page-data",
    "data": "your-data"
  }
}

オプション 2 · チャレンジ (Cookie) — 独自のプロキシが必要です。必須フィールド:

パラメータ説明
タイプTurnstileTask
websiteURL課題が解決されたページの URL
websiteKey任意の文字列を渡すことができます。 xxxxxx
cloudflareTaskTypecf_clearance
htmlPageBase64「ちょっと待ってください」ページの Base64 がステータス 403 で返されました
userAgent現在の UA は CapMonster Cloud でサポートされています。最新の値はhttps://capmonster.cloud/api/useragent/actualで入手できます。
proxyTypehttp、https (一部のカスタム プロキシの場合)、socks4、socks5
proxyAddress, proxyPort, proxyLogin, proxyPasswordあなたの代理人。透過的プロキシとローカル マシン プロキシは許可されません。

リクエスト例:

json
{
  "clientKey": "API_KEY",
  "task": {
    "type": "TurnstileTask",
    "websiteURL": "https://yourwebsite.com/page-with-cf-challenge",
    "websiteKey": "xxxxxxxxxx",
    "cloudflareTaskType": "cf_clearance",
    "htmlPageBase64": "PCFET0NUWVBFIGh0...vYm9keT48L2h0bWw+",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
    "proxyType": "your-proxy-type",
    "proxyAddress": "your-proxy-address",
    "proxyPort": 1234,
    "proxyLogin": "your-proxy-login",
    "proxyPassword": "your-proxy-password"
  }
}

エンドポイントとレスポンス — どちらのオプションでも同じです。

text
POST https://api.capmonster.cloud/createTask
{
  "errorId": 0,
  "taskId": 407533072,
  "errorCode": null,
  "errorDescription": null
}

結果をポーリングします — getTaskResult

status が ready になるまで、taskId で getTaskResult をポーリングします。リクエストは両方のオプションで同一です。 solution オブジェクトには、要求した結果が含まれます。

エンドポイントとリクエスト:

text
POST https://api.capmonster.cloud/getTaskResult
{
  "clientKey": "API_KEY",
  "taskId": 407533072,
  "errorCode": null,
  "errorDescription": null
}

オプション 1 · チャレンジ (token) — solution.token

json
{
  "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 関数を呼び出す場合は、token を使用します。

オプション 2 · チャレンジ (クッキー) — solution.cf_clearance

json
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "cf_clearance": "1tarGvbY2_ZhQdYxpSBloao.FoOn9VtcJtmb_IQ_hCE-1761217338-1.2.1.1-vyVPoLYIGX0...ZHi.w"
  }
}

ブラウザに追加するか、生の HTTP リクエストとともに送信する特別な Cloudflare Cookie。

返された token または Cookie を使用します

Cookie を使用する場合は、生の HTTP リクエストの Cookie: cf_clearance=<value> ヘッダーでその値を渡すか、保護された URL を再度リクエストする前にブラウザーのコンテキストで設定します。

token を使用する場合は、ページ上のチャレンジ callback に渡します。

Cloudflare Challengeパラメータを見つける方法

token オプションには、チャレンジの開始時にページが turnstile.render に渡す値、sitekey (websiteKey)、action (pageAction)、cData (データ)、および chlPageData (pageData) が必要です。 Cookie オプションには、htmlPageBase64 のチャレンジ ページの HTML が必要です。 websiteKey には任意の文字列を指定できます。

Cloudflare Challengeパラメータを見つける方法
javascript
(function () {
  const obj = {
    render: function () {
      const { action, cData, chlPageData } = arguments[1];
      console.table([["action", action], ["data", cData], ["pageData", chlPageData]]);
    }
  };
  Object.defineProperty(window, "turnstile", { get: () => obj });
})();
sitekey → websiteKey
action → pageAction
cData → data
chlPageData → pageData
  1. ページの他のスクリプトが読み込まれる前に、この JavaScript を実行します。これにより、window.turnstile が置き換えられ、render に渡されたパラメーターが出力されます。

  2. コンソールのテーブルから action (pageAction)、cData (データ)、および chlPageData (pageData) を読み取ります。 sitekey (websiteKey) は同じオブジェクトで渡されます。 pageAction は通常、managed または non-interactive です。

  3. 値を自動的に収集するには、Playwright によって制御されるブラウザー (通常またはヘッドレス) を使用します。つまり、window.turnstile を Proxy でラップし、render をインターセプトします。 JavaScript、Python、および C# の準備ができた例は、ドキュメント にあります。

  4. 一部の値はチャレンジ ページを表示するたびに変更されるため、値を収集したらすぐにタスクを作成します。

javascript
fetch('https://example.com')
  .then(res => res.arrayBuffer())
  .then(buf => console.log(btoa(String.fromCharCode(...new Uint8Array(buf)))));
  1. 保護されたサイトをリクエストします。 「ちょっと待ってください…」ページがステータス コード 403 で返されます。

  2. そのページを Base64 でエンコードします。これは htmlPageBase64 です (スニペットは 1 つの方法を示しています。page.content() を使用した Playwright の例は ドキュメント にあります)。

  3. 任意の文字列を websiteKey (たとえば、xxxxxx) として渡し、独自のプロキシを使用します。

  4. 値を収集したらすぐにタスクを作成します。

公式 SDK を使用した Cloudflare Challenge ソルバー

CapMonster Cloud は、Python、JavaScript (Node.js)、および C# での作業に便利な既製のライブラリを提供します。
以下は、クライアント ライブラリを使用して、createTask で CAPTCHA 解決タスクを作成し、getTaskResult で結果を取得する方法を示すコード例です。
公式SDK
Python
python
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import TurnstileRequest
API_KEY = "YOUR_API_KEY"
async def solve_turnstile_challenge():
    client = CapMonsterClient(options=ClientOptions(api_key=API_KEY))
    # プロキシを使用しない基本的な例。 CapMonster Cloud は独自のプロキシを自動的に使用します
    turnstile_request = TurnstileRequest(
        websiteURL="https://yourwebsite.com/page-with-cf-challenge",
        websiteKey="your-website-key",
        data="your-data",
        pageAction="managed",
        cloudflareTaskType="token",
        pageData="your-page-data",
        userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
    )
    balance = await client.get_balance()
    print("Balance:", balance)
    result = await client.solve_captcha(turnstile_request)
    print("Solution:", result)
asyncio.run(solve_turnstile_challenge())
python
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import TurnstileRequest
from capmonstercloudclient.requests.proxy_info import ProxyInfo
API_KEY = "YOUR_API_KEY"
async def main():
    client = CapMonsterClient(options=ClientOptions(api_key=API_KEY))
    # Cloudflare cf_clearance は独自のプロキシを使用する場合のみ解決できます
    proxy = ProxyInfo(proxyType="http", proxyAddress="123.45.67.89", proxyPort=8080, proxyLogin="username", proxyPassword="password")
    turnstile_request = TurnstileRequest(
        websiteURL="https://yourwebsite.com/page-with-cf-challenge",
        websiteKey="your-website-key",
        cloudflareTaskType="cf_clearance",
        proxy=proxy,
        htmlPageBase64="your_html_page_base64",
        userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
    )
    balance = await client.get_balance()
    print("Balance:", balance)
    result = await client.solve_captcha(turnstile_request)
    print("Solution:", result)
asyncio.run(main())
Node.js
javascript
const { CapMonsterCloudClientFactory, ClientOptions, TurnstileRequest } = require("@zennolab_com/capmonstercloud-client");
const API_KEY = "YOUR_API_KEY";
(async () => {
  const client = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: API_KEY }));
  // プロキシを使用しない基本的な例。 CapMonster Cloud は独自のプロキシを自動的に使用します
  const turnstileRequest = new TurnstileRequest({
    websiteURL: "https://yourwebsite.com/page-with-cf-challenge",
    websiteKey: "your-website-key",
    data: "your-data",
    pageAction: "managed",
    cloudflareTaskType: "token",
    pageData: "your-page-data",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
  });
  const balance = await client.getBalance();
  console.log("Balance:", balance);
  const result = await client.Solve(turnstileRequest);
  console.log("Solution:", result.solution);
})();
javascript
const { CapMonsterCloudClientFactory, ClientOptions, TurnstileRequest } = require("@zennolab_com/capmonstercloud-client");
const API_KEY = "YOUR_API_KEY";
async function solveTurnstileCfClearance() {
  const client = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: API_KEY }));
  // Cloudflare cf_clearance は独自のプロキシを使用する場合のみ解決できます
  const proxy = { proxyType: "http", proxyAddress: "123.45.67.89", proxyPort: 8080, proxyLogin: "username", proxyPassword: "password" };
  const turnstileRequest = new TurnstileRequest({
    websiteURL: "https://yourwebsite.com/page-with-cf-challenge",
    websiteKey: "xxxxxxx",
    cloudflareTaskType: "cf_clearance",
    proxy,
    htmlPageBase64: "your_html_page_base64",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
  });
  const balance = await client.getBalance();
  console.log("Balance:", balance);
  const result = await client.Solve(turnstileRequest);
  console.log("Solution:", result.solution);
}
solveTurnstileCfClearance().catch(console.error);
C#
csharp
using System;
using System.Threading.Tasks;
using Zennolab.CapMonsterCloud;
using Zennolab.CapMonsterCloud.Requests;
class Program
{
    static async Task Main(string[] args)
    {
        var clientOptions = new ClientOptions { ClientKey = "YOUR_API_KEY" };
        var cmCloudClient = CapMonsterCloudClientFactory.Create(clientOptions);
        // プロキシを使用しない基本的な例。 CapMonster Cloud は独自のプロキシを自動的に使用します
        var turnstileRequest = new TurnstileRequest
        {
            WebsiteUrl = "https://yourwebsite.com/page-with-cf-challenge",
            WebsiteKey = "your-website-key",
            Data = "your-data",
            PageAction = "managed",
            CloudflareTaskType = "token",
            PageData = "your-page-data",
            UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36"
        };
        var balance = await cmCloudClient.GetBalanceAsync();
        Console.WriteLine("Balance: " + balance);
        var turnstileResult = await cmCloudClient.SolveAsync(turnstileRequest);
        Console.WriteLine("Solution: " + turnstileResult.Solution.Value);
    }
}
csharp
using System;
using System.Threading.Tasks;
using Zennolab.CapMonsterCloud;
using Zennolab.CapMonsterCloud.Requests;
class Program
{
    static async Task Main(string[] args)
    {
        var clientOptions = new ClientOptions { ClientKey = "YOUR_API_KEY" };
        var cmCloudClient = CapMonsterCloudClientFactory.Create(clientOptions);
        // Cloudflare cf_clearance は独自のプロキシを使用する場合のみ解決できます
        var turnstileRequest = new TurnstileRequest
        {
            WebsiteUrl = "https://yourwebsite.com/page-with-cf-challenge",
            WebsiteKey = "your-website-key",
            CloudflareTaskType = "cf_clearance",
            HtmlPageBase64 = "your_html_page_base64",
            UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.0.0 Safari/537.36",
            Proxy = new ProxyContainer("123.45.67.89", 8080, ProxyType.Http, "username", "password")
        };
        var balance = await cmCloudClient.GetBalanceAsync();
        Console.WriteLine("Balance: " + balance);
        var turnstileResult = await cmCloudClient.SolveAsync(turnstileRequest);
        Console.WriteLine("Solution: " + turnstileResult.Solution.Clearance);
    }
}

ローコード ワークフローの場合は、公式 CapMonster Cloud n8n ノード を使用します。

リクエストでの cf_clearance Cookie の使用

text
GET https://example.com/protected-page
User-Agent: <userAgent from the task>
Cookie: cf_clearance=<value>
同じプロキシ同じUser-Agentクッキーの有効期限が切れていない

戻り値を生の HTTP リクエストの Cookie: cf_clearance=<value> ヘッダーに渡すか、保護された URL を再度リクエストする前にブラウザーのコンテキストに設定します。公式の例では、同じプロキシと同じ User-Agent を使用してページをロードし、タスクを解決し、Cookie を使用してリクエストを送信します。

Selenium、Playwright、または Puppeteer では、保護された URL に移動する前に、フレームワーク独自のメソッドで Cookie を設定します。これにより、ブラウザーは繰り返しのチャレンジを行わずにページを開きます。 token をリクエストした場合は、代わりにページ上のチャレンジ callback に渡します。

Background

Cloudflare Challenge エラーとその修正方法

ほとんどの Cloudflare Challenge エラーは、期限切れまたは不一致の cf_clearance Cookie、サービスが受け入れないプロキシ、または古いページ パラメーターに起因します。以下の各カードにはエラーと修正の名前が付けられています。
Bug Icon

再挑戦または解決後の403

リクエストに有効な cf_clearance Cookie がないか、Cookie の有効期限が切れているか、Cloudflare がセッション (Precursor clearance) を再チェックしました。新しい Cookie をリクエストします。
Bug Icon

プロキシまたはUser-Agentがタスクと異なります

公式の例のように、保護されたページをリクエストするときは、タスクと同じプロキシと同じ userAgent を使用します。 Cloudflare は、発行された IP とは異なる IP から解決された Managed Challenge は無効であり、チャレンジ ループを引き起こす可能性があることにも注意しています。Cloudflare ドキュメント を参照してください。
Bug Icon

期限切れのクッキー

Cookie は期間限定で有効です。長時間実行されるスクリプトは、期限が切れると再度チャレンジを解決する必要があります。
Bug Icon

代理は受け付けられません

http、https、socks4、または socks5 を使用します。
Bug Icon

古いページパラメータ

一部の値は、チャレンジ ページをレンダリングするたびに変更されます。タスクを作成する直前にそれらを抽出します。

Cloudflare Challengeに関するよくある質問

Cloudflare Challengeとは何ですか?

Cloudflare Challenge は、WAF ルール、Bot Management、またはレート制限によってリクエストが疑わしいとみなされた場合 (たとえば、TLS フィンガープリント、IP レピュテーション、または動作シグナルに基づく) に、保護されたページへのアクセスを許可する前に Cloudflare が表示する中間チェックです。チェックの進行中、訪問者には中間の「ちょっと待ってください…」ページが表示されます。チェックに合格すると、Cloudflare は cf_clearance Cookie を発行します。Cookie は訪問者とデバイスに関連付けられ、限られた期間有効です。その後、ブラウザーは元のページにアクセスできるようになります。

JS Challenge、Managed Challenge、ターンスタイルの違いは何ですか?

3 つはすべて、ブラウザからのクライアント側の信号に依存します。 JS Challenge (非対話型) はバックグラウンドで実行され、通常は 5 秒以内に実行されます。合格しない場合は、Cloudflare に別のチャレンジ ページが表示されます。 Managed Challenge を使用すると、Cloudflare は対話的なステップに至るまで、リクエストの特性とブラウザー信号からチェックを動的に選択できます。 Turnstile は、Siteverify API を通じて検証される token を返す埋め込み可能なウィジェットです。オプションの事前クリアランスを使用すると、cf_clearance Cookie を発行することもできます。

Cloudflare CAPTCHA、確認ページ、または 403 エラーが表示され続けるのはなぜですか?

繰り返されるチャレンジまたは 403 は、リクエストに有効な cf_clearance Cookie がないか、Cookie の有効期限が切れているか、または Cookie の発行先とは異なる訪問者またはデバイスからのリクエストであることを意味します。有効な Cookie であってもアクセスは保証されません。Cloudflare は Precursor clearance を維持します。セッション動作の継続的な再評価により、トラフィック パターンが疑わしいと思われ始めた場合に、クリアランス レベルを下げるかリセットして、繰り返しチャレンジをトリガーすることができます。

CapMonster Cloud は Cloudflare Challenge をどのように解決しますか?

CapMonster Cloud は、2 つの API 呼び出しを通じて非同期的にタスクを解決します。タスク パラメーターを指定した createTask に続いて、ソリューションの準備ができるまで getTaskResult をポーリングします。タスクのタイプに応じて、サービスは token (プロキシなしで callback に挿入される) または cf_clearance Cookie (プロキシが必須) を返します。次に、結果の値を通常の HTTP リクエストの Cookie: cf_clearance=<value> ヘッダーに渡すか、ブラウザーのコンテキストに設定します。その後、手動でチェックを通過することなく、保護されたページが開きます。

プロジェクトで Cloudflare Challenge を解決するにはどうすればよいですか?

clientKey (API キー) とタスク パラメーターを使用して POST リクエストを createTask に送信し、getTaskResult をポーリングして結果が準備されるのを待ち (ステータスが ready になるまで)、結果の token または Cookie を HTTP クライアントまたはブラウザー オートメーションで使用します。既製の統合の場合は、GitHub の CapMonster Cloud リポジトリ にある公式 SDK を使用してください。これらは、createTask / getTaskResult サイクルを 1 つの呼び出しにラップします。

Cloudflare チャレンジを解決するにはプロキシが必要ですか?

プロキシは、cf_clearance Cookie を返すタスクにのみ必須です。公式の例では、同じプロキシが次のリクエストに使用されます。 token の結果の場合、プロキシは必要ありません。CapMonster Cloud は、デフォルトで組み込みプロキシを使用します (IP でホワイトリストに登録する場合は、65.21.190.34 を追加します)。サポートされているタイプ: http、https、socks4、socks5。透過プロキシとローカル マシン上のプロキシは許可されません。

CapMonster Cloud を n8n または Selenium とともに Cloudflare Challenge ソルバーとして使用できますか?

はい。 n8n の場合、公式の CapMonster Cloud ノードがあり、インターフェイスから、または自己ホスト型インスタンスの npm install @zennolab_com/n8n-nodes-capmonstercloud 経由でインストールされます。他のケースでは、コードはまず CapMonster API に対して通常の HTTP リクエストを作成し (リクエスト、axios、またはその他の HTTP クライアント経由)、次にその結果が独自のメソッドを使用してブラウザ フレームワーク (Selenium、Playwright、Puppeteer など) に渡されます。保護された URL に移動する前に、cf_clearance Cookie をこのメソッドで設定する必要があります。これにより、ブラウザーは、再度チャレンジを行わずに、すでに有効なチェックを使用してページを開きます。

Cloudflare チャレンジを自動的に解決することは合法ですか?

Cloudflare Challenge の解決は技術的な操作であり、その合法性はツール自体ではなく、結果として得られるアクセスがどのように使用されるかによって決まります。 CapMonster Cloud は、法的な自動化 (テスト、監視、公開データの収集) を目的としていますが、法律とターゲット リソースの利用規約の遵守に対する責任はユーザーにあります。

CapMonster Cloud

100% の成功率を保証するものではありません。CAPTCHA のタイプとターゲット サイトの構成はいつでも変更される可能性があります。実際の解決速度と成功率は、対象サイト、サーバー負荷、ネットワーク状況によって異なります。

Cloudflare は、Cloudflare, Inc. の商標です。CapMonster Cloud は、Cloudflare と提携または承認されていません。このサービスは、公的に利用可能なデータ、独自の Web サイトまたは承認された Web サイト、画像認識およびアクセシビリティのテストを目的としています。許可なくログインまたはペイウォールの背後にあるサードパーティのデータを収集することは禁止されています。あなた自身のアカウントは影響を受けません。作業を開始する前に、データの法的地位を決定します。