タスクタイプ
Cloudflare チャレンジページ
このページは中国語版から機械翻訳されたもので、不正確な箇所がある可能性があります。中国語版を正としてください。
example.com
人間であることを確認しています。数秒かかる場合があります。
確認中...人間であることを確認してください成功しました!CLOUDFLAREプライバシー • 利用規約example.com は、続行する前に接続のセキュリティを確認する必要があります。
example.com
人間であることを確認しています。数秒かかる場合があります。
確認中...人間であることを確認してください成功しました!CLOUDFLAREプライバシー • 利用規約example.com は、続行する前に接続のセキュリティを確認する必要があります。
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 秒かかります(サイトによって大きく異なります)。認識に失敗した場合やタイムアウトした場合は自動で返金されます。
https://api.yescaptcha.com/createTaskグローバルエンドポイントhttps://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 など)に切り替えればリクエストできます。チャレンジの通過は不要です。
タイプと価格
Section titled “タイプと価格”| タスクタイプ | 価格 | 返却方式 | 備考 |
|---|---|---|---|
CloudFlareTaskS2 | $3.75 / 1k; 25 ポイント/タスク · ¥25 / 1k | 非同期 | プロキシ持ち込み |
CloudFlareTaskS3 | $3.00 / 1k; 20 ポイント/タスク · ¥20 / 1k | 非同期 | プロキシ持ち込み |
米ドル価格は US$1 ≈ ¥6.67 での概算です。タスクはポイントで課金されます。
リクエストパラメーター
Section titled “リクエストパラメーター”| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
type | string | はい | タスクタイプ。値はこのページの「タイプと料金」を参照してください |
websiteURL | string | はい | チャレンジページの背後にあるページの完全な URL。公開された http:// または https:// の URL のみ指定できます。プライベート IP アドレスや、localhost などのローカル・内部ホスト名は拒否されます |
proxy | string | はい | プロキシを 1 つの文字列で指定します:http://user:[email protected]:8080(HTTP プロキシ、認証情報は省略可)または socks5://proxy.example.com:1080(認証情報なし)。https:// プロキシおよび認証情報付きの SOCKS5 はサポートされず、ローカルアドレスやプライベートアドレスは拒否されます。対象ページへのすべてのリクエストはこのプロキシ経由で送信されます |
userAgent | string | いいえ | 通常は指定不要です。Linux デスクトップ版 Chrome の User-Agent のみが使用され、それ以外(Windows、macOS、モバイル、他のブラウザ)は無視されます。以降のリクエストでは、必ず結果に含まれる user_agent を使用してください |
waitLoad | boolean | いいえ | デフォルトは false。true を指定すると、チェック通過後にページのネットワーク通信が落ち着くまで待ってから結果を返すため、content に動的に読み込まれたコンテンツがより多く含まれます。数秒長くかかります |
requiredCookies | array | いいえ | 必ず取得する Cookie 名のリスト(文字列の配列)。例:["cf_clearance"]。指定した場合は、すべて取得できたときのみ成功となり、取得できなければ ERROR_CAPTCHA_UNSOLVABLE を返して返金されます。省略した場合も cf_clearance の取得を試みますが、取得できず他の Cookie だけを取得した場合でも成功として課金されます。cf_clearance が必要な場合は明示的に指定してください |
blockImage | boolean | いいえ | true を指定すると、対象ページの画像を読み込みません(Cloudflare のチェック自体に必要なものを除く)。プロキシのトラフィックを節約できます |
postData | object | いいえ | 指定すると、通常の HTML フォームの POST として websiteURL に送信されます(application/x-www-form-urlencoded)。各キーがフォームのフィールドとなり、値は文字列として送信されます。例:{"name": "hi"}。オブジェクトである必要があります |
プロキシの要件
Section titled “プロキシの要件”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 を返します |
User-Agent
Section titled “User-Agent”通常、userAgent は指定しません。チェックの通過には Linux デスクトップ版の Chrome を使用するため、同じ Linux デスクトップ版 Chrome の User-Agent だけが採用され、それ以外(Windows、macOS、モバイル、他のブラウザー)は無視されます。実測では、ブラウザーの実際の環境と User-Agent が一致しない場合、Cloudflare のチェックを通過できませんでした。以降のリクエストでは、必ず結果に含まれる user_agent を使用してください。
リクエスト例
Section titled “リクエスト例”{ "clientKey": "YOUR_CLIENT_KEY", "task": { "type": "CloudFlareTaskS3", "websiteURL": "https://example.com/", "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 値とリクエストヘッダーは例です。実際の値は返却結果に従ってください。
| フィールド | 型 | 説明 |
|---|---|---|
cookies | object | チェック通過後のブラウザ内のすべての Cookie(名前から値へのオブジェクト)。通常は cf_clearance を含みます。requiredCookies を指定した場合は、そのすべてが含まれます。返された user_agent および指定したプロキシと併せて使用してください |
user_agent | string | ブラウザがチェック通過時に実際に使用した User-Agent(Linux デスクトップ版 Chrome)。cf_clearance はこれに紐づいているため、以降のすべてのリクエストでこの値を使用してください |
request_headers | object | ブラウザが対象ページに対して最後に送信したリクエストヘッダー。以降のリクエストでも同じものを付けて再利用してください |
headers | object | チェック通過後の対象ページのレスポンスヘッダー |
content | string | チェック通過後の対象ページの HTML ソース |
結果の使い方
Section titled “結果の使い方”- 以降のリクエストでは、返された
cookies、返されたuser_agent、タスク作成時と同じプロキシをすべて同時に使用してください。cf_clearanceは User-Agent と出口 IP に紐づいており、どれか 1 つでも一致しないと、再びチャレンジページが表示されます。 - リクエストヘッダーは、できるだけ
request_headersのとおりに付与し、ブラウザーと同じ TLS フィンガープリントを使用してください(例: curl_cffi のimpersonateパラメーター)。 cf_clearanceには有効期限があります(対象サイトが設定し、最長 1 時間のサイトもあります)。有効期間内は再度チャレンジを通過する必要はありませんが、リクエストの頻度が高すぎると Cloudflare に IP をブロックされる場合があります。- ページ内容だけが必要な場合は、
contentをそのまま使えます。もう一度ページをリクエストする必要はありません。
よくあるエラー
Section titled “よくあるエラー”タスク作成時に返されたエラーは課金されません。作成後に失敗またはタイムアウトしたタスクは自動で返金されます。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 |
タスクが規定時間内に完了しなかった | タスクを作り直す。タイムアウトが続く場合は、多くはプロキシが遅すぎることが原因 |
すべてのエラーコードはエラーコードを参照してください。
- キャプチャの種類を見分ける: Cloudflare チャレンジページと Turnstile の違い
- Cloudflare Turnstile