コンテンツにスキップ
ステータスダッシュボード

タスクタイプ

Cloudflare チャレンジページ

このページは中国語版から機械翻訳されたもので、不正確な箇所がある可能性があります。中国語版を正としてください。

イメージ図Cloudflare チャレンジページはページ全体を置き換えて表示されます(「Just a moment...」)。通常は自動で確認が完了し、ブラウザが本来のページへ移動します。

Cloudflare チャレンジページは、サイト全体が Cloudflare にブロックされ、「しばらくお待ちください…」「ブラウザを確認しています」と表示されるチェックページです。YesCaptcha は指定されたプロキシ経由でページを開いてチェックを通過し、cf_clearance などの Cookie、使用した User-Agent、リクエストヘッダー、レスポンスヘッダー、通過後のページ HTML を返します。CloudFlareTaskS2 は 1 タスクあたり 25 ポイント(約 $3.75 / 1k)、CloudFlareTaskS3 は 1 タスクあたり 20 ポイント(約 $3.00 / 1k) です。2 つのタイプはパラメーター、返却結果、効果が同じで、価格だけが異なります。非同期で結果を返し、1 タスクあたり通常 6〜35 秒かかります(サイトによって大きく異なります)。認識に失敗した場合やタイムアウトした場合は自動で返金されます。

POSThttps://api.yescaptcha.com/createTaskグローバルエンドポイント
POSThttps://cn.yescaptcha.com/createTask中国エンドポイント
  • ページのソースに __cf_chl_rt_tk または cdn-cgi/challenge-platform が含まれ、タイトルが Just a moment... / 「しばらくお待ちください」の場合は、Cloudflare チャレンジページです。チェックページ上で「人間であることを確認します」のチェックボックスをクリックする形式も、このページの対象です。
  • フォームに Cloudflare の認証ウィジェットが埋め込まれているだけの場合は Turnstile です。このページの対象ではありません。
  • requests などのライブラリでリクエストすると 403 と「Just a moment…」が返るのに、ブラウザでは直接開ける場合は、多くの場合 TLS フィンガープリントでブロックされているだけです。ブラウザの TLS フィンガープリントを模倣できるライブラリ(curl_cffi など)に切り替えればリクエストできます。チャレンジの通過は不要です。
タスクタイプ価格返却方式備考
CloudFlareTaskS2$3.75 / 1k; 25 ポイント/タスク · ¥25 / 1k非同期プロキシ持ち込み
CloudFlareTaskS3$3.00 / 1k; 20 ポイント/タスク · ¥20 / 1k非同期プロキシ持ち込み

米ドル価格は US$1 ≈ ¥6.67 での概算です。タスクはポイントで課金されます。

フィールド型必須説明
typestringはいタスクタイプ。値はこのページの「タイプと料金」を参照してください
websiteURLstringはいチャレンジページの背後にあるページの完全な URL。公開された http:// または https:// の URL のみ指定できます。プライベート IP アドレスや、localhost などのローカル・内部ホスト名は拒否されます
proxystringはいプロキシを 1 つの文字列で指定します:http://user:[email protected]:8080(HTTP プロキシ、認証情報は省略可)または socks5://proxy.example.com:1080(認証情報なし)。https:// プロキシおよび認証情報付きの SOCKS5 はサポートされず、ローカルアドレスやプライベートアドレスは拒否されます。対象ページへのすべてのリクエストはこのプロキシ経由で送信されます
userAgentstringいいえ通常は指定不要です。Linux デスクトップ版 Chrome の User-Agent のみが使用され、それ以外(Windows、macOS、モバイル、他のブラウザ)は無視されます。以降のリクエストでは、必ず結果に含まれる user_agent を使用してください
waitLoadbooleanいいえデフォルトは false。true を指定すると、チェック通過後にページのネットワーク通信が落ち着くまで待ってから結果を返すため、content に動的に読み込まれたコンテンツがより多く含まれます。数秒長くかかります
requiredCookiesarrayいいえ必ず取得する Cookie 名のリスト(文字列の配列)。例:["cf_clearance"]。指定した場合は、すべて取得できたときのみ成功となり、取得できなければ ERROR_CAPTCHA_UNSOLVABLE を返して返金されます。省略した場合も cf_clearance の取得を試みますが、取得できず他の Cookie だけを取得した場合でも成功として課金されます。cf_clearance が必要な場合は明示的に指定してください
blockImagebooleanいいえtrue を指定すると、対象ページの画像を読み込みません(Cloudflare のチェック自体に必要なものを除く)。プロキシのトラフィックを節約できます
postDataobjectいいえ指定すると、通常の HTML フォームの POST として websiteURL に送信されます(application/x-www-form-urlencoded)。各キーがフォームのフィールドとなり、値は文字列として送信されます。例:{"name": "hi"}。オブジェクトである必要があります

proxy は必須です。対象ページを開くすべてのリクエストがこのプロキシ経由になります。cf_clearance は出口 IP に紐づくため、その後に対象サイトへアクセスするときも同じプロキシを使ってください。

書式 対応状況
http://user:[email protected]:8080 対応: http プロキシ(ユーザー名・パスワードあり)
http://proxy.example.com:8080 対応: http プロキシ(ユーザー名・パスワードなし)
socks5://proxy.example.com:1080 対応: socks5 プロキシ(ユーザー名・パスワードなし)。socks5h:// は socks5:// として扱われます
socks5://user:[email protected]:1080 非対応。ERROR_PROXY_INCORRECT を返します。ユーザー名・パスワードが必要な場合は http プロキシを使用してください
https://proxy.example.com:443 などのその他のプロトコル、またはポートなし 非対応。ERROR_PROXY_INCORRECT を返します
127.0.0.1、192.168.x.x、10.x.x.x などのローカル、内部ネットワーク、予約アドレス、またはそれらに解決されるドメイン 拒否。ERROR_PROXY_BANNED を返します

通常、userAgent は指定しません。チェックの通過には Linux デスクトップ版の Chrome を使用するため、同じ Linux デスクトップ版 Chrome の User-Agent だけが採用され、それ以外(Windows、macOS、モバイル、他のブラウザー)は無視されます。実測では、ブラウザーの実際の環境と User-Agent が一致しない場合、Cloudflare のチェックを通過できませんでした。以降のリクエストでは、必ず結果に含まれる user_agent を使用してください。

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "CloudFlareTaskS3",
"websiteURL": "https://example.com/",
"proxy": "http://user:[email protected]:8080",
"requiredCookies": ["cf_clearance"]
}
}
  • CloudFlareTaskS2 を使う場合は type だけを変更し、他はそのままにします。
  • requiredCookies に ["cf_clearance"] を指定すると、cf_clearance を取得できなかった場合にタスクが失敗し、返金されます。指定しない場合は、cf_clearance を取得できず他の Cookie だけを取得した場合も成功とみなされ、課金されます。
  • フォームを送信する場合は postData を追加します(例: {"name": "hi"})。websiteURL に POST フォームとして送信されます。

作成後は 5 秒ごとに getTaskResult を呼び出します。流れは他の非同期タスクと同じです。getTaskResult を参照してください。

{
"errorId": 0,
"status": "ready",
"solution": {
"user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36",
"cookies": {
"cf_clearance": "Wq3vXk9...-1760860800-1.2.1.1-..."
},
"request_headers": {
"accept-language": "en-US,en;q=0.9",
"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36"
},
"headers": {
"content-type": "text/html; charset=UTF-8",
"server": "cloudflare"
},
"content": "<!DOCTYPE html>..."
}
}

上記の Cookie 値とリクエストヘッダーは例です。実際の値は返却結果に従ってください。

フィールド型説明
cookiesobjectチェック通過後のブラウザ内のすべての Cookie(名前から値へのオブジェクト)。通常は cf_clearance を含みます。requiredCookies を指定した場合は、そのすべてが含まれます。返された user_agent および指定したプロキシと併せて使用してください
user_agentstringブラウザがチェック通過時に実際に使用した User-Agent(Linux デスクトップ版 Chrome)。cf_clearance はこれに紐づいているため、以降のすべてのリクエストでこの値を使用してください
request_headersobjectブラウザが対象ページに対して最後に送信したリクエストヘッダー。以降のリクエストでも同じものを付けて再利用してください
headersobjectチェック通過後の対象ページのレスポンスヘッダー
contentstringチェック通過後の対象ページの HTML ソース
  1. 以降のリクエストでは、返された cookies、返された user_agent、タスク作成時と同じプロキシをすべて同時に使用してください。cf_clearance は User-Agent と出口 IP に紐づいており、どれか 1 つでも一致しないと、再びチャレンジページが表示されます。
  2. リクエストヘッダーは、できるだけ request_headers のとおりに付与し、ブラウザーと同じ TLS フィンガープリントを使用してください(例: curl_cffi の impersonate パラメーター)。
  3. cf_clearance には有効期限があります(対象サイトが設定し、最長 1 時間のサイトもあります)。有効期間内は再度チャレンジを通過する必要はありませんが、リクエストの頻度が高すぎると Cloudflare に IP をブロックされる場合があります。
  4. ページ内容だけが必要な場合は、content をそのまま使えます。もう一度ページをリクエストする必要はありません。

タスク作成時に返されたエラーは課金されません。作成後に失敗またはタイムアウトしたタスクは自動で返金されます。API が返すのはエラーコードと汎用的な説明のみのため、具体的な原因は次の表で確認してください。

エラーコード 返される場面 対処
ERROR_REQUIRED_FIELDS タスク作成時: websiteURL または proxy がない 必須の 2 つのフィールドを追加する
ERROR_ILLEGAL_PARAMETERS タスク作成時: websiteURL が http:// / https:// で始まる公開 URL ではない、postData がオブジェクトではない、requiredCookies が文字列の配列ではない。結果取得時: プロキシ経由で対象 URL のドメインを解決できない パラメーターを修正する。URL のスペルと、プロキシからそのサイトにアクセスできるかを確認する
ERROR_PROXY_INCORRECT タスク作成時: プロキシの書式が正しくない、ポートがない、https:// プロキシまたはユーザー名・パスワード付きの socks5 を使用している 上記「プロキシの要件」の書式に修正する。ユーザー名・パスワードが必要な場合は http プロキシを使用する
ERROR_PROXY_BANNED タスク作成時: プロキシがローカル、内部ネットワーク、予約アドレスである、またはこのプロキシが短時間に何度も接続に失敗した。結果取得時: 対象サイトの Cloudflare がこのプロキシの IP を直接ブロックした(「Sorry, you have been blocked」「Access denied」ページ) プロキシを変更する。IP の品質が高いほど通過しやすい
ERROR_PROXY_CONNECT_REFUSED プロキシに接続できない(接続拒否、プロキシのドメインを解決できない)、またはプロキシ経由でページを開く際に接続が拒否・リセットされた プロキシのアドレスとポートを確認し、プロキシがオンラインで外部からのアクセスを許可しているかを確認する。それでも失敗する場合はプロキシを変更する
ERROR_PROXY_CONNECT_TIMEOUT プロキシへの接続、またはプロキシ経由でのページ表示がタイムアウトした より高速で安定したプロキシに変更する
ERROR_PROXY_NOT_AUTHORISED プロキシのユーザー名またはパスワードが正しくない proxy 内のユーザー名とパスワードを確認する。特殊文字は URL エンコードする
ERROR_PROXY_TLS_ERROR プロキシ経由でページを開く際に TLS ハンドシェイクでエラーが発生した プロキシのアドレス、ポート、プロトコルに誤りがないか確認する。それでも失敗する場合はプロキシを変更する
ERROR_CAPTCHA_UNSOLVABLE 規定時間内にチェックを通過できなかった、通過後もチェックページのままだった、または requiredCookies で指定した Cookie を取得できなかった まずプロキシを変更して再試行する。特定のサイトについてはサポートにお問い合わせください
ERROR_NO_SLOT_AVAILABLE タスク作成時: キューが満杯。結果取得時: キューで長く待機しても開始されず、返金済み 数秒待ってからタスクを作り直す
ERROR_TASK_TIMEOUT タスクが規定時間内に完了しなかった タスクを作り直す。タイムアウトが続く場合は、多くはプロキシが遅すぎることが原因

すべてのエラーコードはエラーコードを参照してください。