logo
bars
Płatność za rozwiązanie · API

Solver Cloudflare Challenge

CapMonster Cloud to solwer Cloudflare Challenge z API. Zwraca plik cookie token lub cf_clearance, dzięki czemu automatyzacja jest kontynuowana bez ręcznego wykonywania czynności.

Ostatnia aktualizacja:

Przetestuj za darmo: saldo testowe 0,10 $ ↓
Średni czas rozwiązywania
12 – 14 s
Wskaźnik sukcesu
99%
za 1000 tokenów
$ 1.30

Ceny solwera Cloudflare Challenge

CAPTCHA
Cena (USD)
$ 1.30
1000 tokenów
Wybór Cloudflare Challenge lub kołowrotu

Cloudflare Challenge kontra Cloudflare Turnstile

Jak odróżnić Challenge od Turnstile

Widżet Cloudflare Challenge i kołowrót mogą wyglądać tak samo. Wyzwanie nie zawsze jest osobną stroną „Chwileczkę…”: można je stylizować, osadzić w witrynie lub sprawić, by wyglądało jak zwykły widżet Kołowrotek, więc nie można ich odróżnić po wyglądzie.

Którego solwera CapMonster Cloud użyć

Cloudflare Turnstile

widżet
Gdzie to widzisz
Widget wewnątrz strony lub formularza
Co zwraca
token w cf-turnstile-response
strona CapMonstera
Solver Cloudflare Turnstile

Cloudflare Challenge

403 · challenge-form
Gdzie to widzisz
Stylizowany czek osadzony w witrynie lub stronie pełnoekranowej; identyfikowany przez 403 przy pierwszym żądaniu i challenge-form z __cf_chl_f_tk=
Co zwraca
Plik cookie token lub cf_clearance
strona CapMonstera
Ta strona: Solver Cloudflare Challenge

Jeśli te znaki są obecne, jest to Cloudflare Challenge: użyj solwera Cloudflare Challenge na tej stronie, który zwróci plik cookie token lub cf_clearance. W przeciwnym razie użyj solwera Cloudflare Turnstile.

Porównanie rozwiązań Cloudflare Challenge

W tabeli podano cenę za 1000 rozwiązań, średni czas rozwiązywania i współczynnik powodzenia rozwiązywania dla czterech usług rozwiązywania problemów Cloudflare Challenge.

ParametrCapMonster Cloud2CaptchaAnti-CaptchaNajlepszy CaptchaSolver
Cena za 1000 rozwiązań
$ 1.30$1.45$2.00$1.80
Średni czas rozwiązywania
12 – 14 s14 – 18 s18 – 22 s22 – 30 s
Wskaźnik sukcesu rozwiązania
99%97%95%80%

Cena Cloudflare Turnstile podana przez dostawcę; Cloudflare Challenge nie jest wymieniony osobno.

2Captcha, Anti-Captcha i BestCaptchaSolver są znakami towarowymi odpowiednich właścicieli. CapMonster Cloud nie jest powiązany z tymi podmiotami. Wskaźniki wydajności oparte są na wewnętrznym benchmarkingu przeprowadzonym 26.08.2026. Porównania cen opierają się na publicznie dostępnych danych na dzień 30.09.2026.

Przetestuj za darmo

Rozwiąż Cloudflare Challenge w kilka sekund

99% udanych podań. Już teraz przetestuj stabilność na swoich własnych stronach docelowych. Nie gwarantujemy 100% skuteczności: typy CAPTCHA i konfiguracja witryny docelowej mogą ulec zmianie w dowolnym momencie.

$0.10

Nowi użytkownicy otrzymują 0,10 $ salda testowego, aby wypróbować CapMonster Cloud.

  1. 1. Zarejestruj się w CapMonster Cloud.

  2. 2. Napisz do supportu przez czat na żywo lub na support@capmonster.cloud, podając e-mail powiązany z kontem.

Brak karty kredytowej · Gotowe SDK dla Python, Node.js, C#

Do czego zespoły używają rozwiązania Cloudflare Challenge

Kontrola jakości i kompleksowe testy

Uruchom rejestrację, realizację transakcji i przepływ formularzy w CI/CD za pomocą Playwright, Puppeteer lub Selenium na stronach, które posiadasz lub które możesz testować.

Monitorowanie

Sprawdź, czy strony za Cloudflare Challenge pozostają dostępne po wydaniach i zmianach reguł.

Dane publicznie dostępne

Zbieraj publicznie dostępne dane z otwartych stron chronionych przez Cloudflare Challenge.

Dostępność

Obsługuj zautomatyzowane pomocnicze przepływy pracy w witrynach, które przed załadowaniem wyświetlają stronę weryfikacyjną.

Agenci AI

Pozwól agentowi zażądać pliku cookie token lub cf_clearance za pośrednictwem MCP, gdy przepływ pracy osiągnie wyzwanie.

Tylko legalne użycie

Używaj CapMonster Cloud do publicznie dostępnych danych oraz na stronach, których jesteś właścicielem lub do których testowania jesteś upoważniony. Zbieranie danych osób trzecich za loginem lub zaporą płatniczą bez pozwolenia jest zabronione.

Rodzaje wyzwań Cloudflare

Jak Cloudflare wystawia i sprawdza wyzwania

Cloudflare obsługuje trzy typy stron wyzwań: JS Challenge, Managed Challenge i Interactive Challenge. O tym, czy wyzwanie zostanie pokazane, decydują zasady WAF lub Bot Management. CapMonster Cloud obejmuje trzy poniższe typy wyzwań; WAF / Bot Management to szerszy produkt i jest wyszczególniony osobno.

Sources: Dokumentacja Cloudflare — Jak działają wyzwania · Śródmiąższowe strony wyzwań · Tryb ataku

„5-sekundowe wyzwanie”

1. JS Challenge

Nieinteraktywny test śródmiąższowy: przeglądarka uruchamia JavaScript, a Cloudflare ocenia wynik przed załadowaniem strony. Nie jest wymagany żaden użytkownik action.

Gdzie się pojawia
Strona pośrednia z weryfikacją w tle
Zwracany wynik
Plik cookie cf_clearance (domyślnie)

w tym Under Attack Mode

2. Managed Challenge

W przypadku Cloudflare Managed Challenge, Cloudflare dynamicznie wybiera kontrolę na podstawie charakterystyki żądania i sygnałów przeglądarki. Under Attack Mode wykorzystuje Managed Challenge.

Gdzie się pojawia
Strona pośrednia; Cloudflare wybiera rodzaj weryfikacji
Zwracany wynik
Plik cookie cf_clearance (domyślnie)

widget na stronie pełnoekranowej

3. Interactive Challenge

Strony Interactive Challenge wymagają od odwiedzającego interakcji z wyzwaniem, aby zaliczyć wyzwanie.

Gdzie się pojawia
Strona pośrednia z obowiązkową weryfikacją interaktywną
Zwracany wynik
Plik cookie cf_clearance (domyślnie)

4. WAF / Bot Management

Reguła i warstwa punktacji decydująca o tym, kiedy zostanie obsłużone wyzwanie bota Cloudflare. Cloudflare oblicza tę decyzję przy użyciu silników detekcji, w tym:

Gdzie się pojawia
Warstwa reguł przetwarzania żądań i oceny ryzyka
Zwracany wynik
Sama niczego nie zwraca — na podstawie oceny ryzyka uruchamia jedno z powyższych działań (lub blokadę)

Szerszy niż trzy typy wyzwań i nie jest ich synonimem.

  • Heuristics engine dopasowuje każde żądanie do bazy danych znanych odcisków palców botów.
  • JS Detections engine opcjonalna, niewidoczna kontrola JavaScript po stronie klienta, która oznacza przeglądarki bezobsługowe.
  • Machine Learning engine nadzorowany model, który generuje wynik bota w przedziale 1–99 na podstawie wzorców z miliardów codziennych żądań.

Sources: Wyniki botów · Silniki wykrywania botów · Wykrycia JavaScript

Przebieg pracy Cloudflare Challenge

  1. 1. Żądanie

    Przeglądarka żąda chronionej strony. Cloudflare Bot Management ocenia żądanie na podstawie odcisku palca TLS, reputacji IP i sygnałów behawioralnych.

  2. 2. Wynik bota

    Silniki heurystyki, wykrywania JS i uczenia maszynowego generują wynik bota od 1 do 99, a reguły WAF decydują, czy podjąć wyzwanie.

  3. 3. Strona pełnoekranowa

    Jeśli żądanie wygląda podejrzanie, Cloudflare zwraca stronę „Chwileczkę…” z kodem stanu 403 i uruchamia JS Challenge, Managed Challenge lub Interactive Challenge.

  4. 4. cf_clearance

    Po przejściu kontroli Cloudflare generuje plik cookie cf_clearance powiązany z gościem i urządzeniem i ważny przez ograniczony czas.

  5. 5. Dostęp

    Przeglądarka ładuje oryginalną stronę z plikiem cookie. Cloudflare na bieżąco ocenia zachowanie sesji (Precursor clearance) i może stanowić nowe wyzwanie.

Co to jest plik cookie cf_clearance?

cf_clearance to plik cookie, który Cloudflare generuje po tym, jak odwiedzający przejdzie przez Cloudflare Challenge. Przeglądarka wysyła go z następującymi żądaniami do chronionej witryny, a strona otwiera się bez ponownego wezwania.

Właściwości pliku cookie zgodnie z dokumentacją Cloudflare:

Gość i urządzenie

Powiązany z odwiedzającym i urządzeniem, do którego został wydany.

Całe życie

Ważny przez ograniczony czas (domyślnie 30 minut; witryna ustawia go jako Challenge Passage): długo działający skrypt musi ponownie przejść test po jego wygaśnięciu.

Weryfikacja dostępu

Nie jest to gwarancja sama w sobie: Precursor clearance stale ponownie ocenia zachowanie sesji i może wywołać powtarzające się wyzwanie, nawet jeśli plik cookie nie wygasł.

Co unieważnia plik cookie cf_clearance

Wiązanie

Zmiana gościa lub urządzenia

Dostęp zostaje zresetowany: plik cookie jest powiązany z odwiedzającym i urządzeniem, na którym został wydany

Całe życie

Wygaśnięcie

Plik cookie przestaje działać; skrypt musi ponownie przejść kontrolę

Zachowanie

Precursor clearance

Cloudflare może obniżyć lub zresetować poziom zezwolenia i służyć jako wielokrotne wyzwanie, jeśli ruch wygląda podejrzanie

Token lub cf_clearance: jaki wynik należy zażądać

Dla programistów korzystających z CapMonster Cloud, aby uzyskać token lub cf_clearance

Parametr cloudflareTaskType TurnstileTask decyduje, co zwraca CapMonster Cloud. Wybierz opcję w zależności od wymagań witryny docelowej: token dla wyzwania callback na stronie lub cf_clearance cookie dla Twoich dalszych żądań.

Token i cf_clearance

ParametrŻetoncf_clearance
cloudflareTaskTypetokencf_clearance
PełnomocnikOpcjonalniedomyślnie działa na serwerach proxy CapMonster CloudWymaganewłasny serwer proxy
websiteKeyKlucz Cloudflare Challenge, np. 0x4AAAAAAABUYP0XeMJF0xoyDowolny ciąg, np. xxxxxx
Dane stronypageAction, data (cData), pageData (chlPageData)htmlPageBase64 — Base64 strony 403 „Chwileczkę”
Wyniksolution.tokensolution.cf_clearance
Gdzie go używaćWyzwanie callback na stronieNagłówek Cookie: cf_clearance=<value> lub kontekst przeglądarki

Obsługiwane typy proxy (cf_clearance)

proxyTypeOpis
httpZwykły serwer proxy HTTP
httpsUżyj dla niektórych niestandardowych serwerów proxy
socks4Serwer proxy SOCKS4
socks5Serwer proxy SOCKS5

Pełne odniesienie do parametrów: Dokumentacja zadania Cloudflare Challenge.

Jak korzystać z solwera Cloudflare Challenge

CapMonster Cloud API pełni funkcję solwera cf_clearance: akceptuje parametry zadania, przetwarza je na swoich serwerach i zwraca plik cookie token lub cf_clearance. Rozwiązanie Cloudflare Challenge składa się z czterech kroków: uzyskaj klucz API, wyślij zadanie, odpytuj wynik i użyj zwróconego token lub pliku cookie we własnych żądaniach.

Twój scenariuszCapMonster Cloud APIWitryna docelowa

Zdobądź klucz API

Wyślij zadanie — createTask

Wywołaj createTask z typem TurnstileTask. Parametr cloudflareTaskType decyduje o tym, co otrzymasz w zamian: plik cookie token lub plik cookie cf_clearance. Wybierz opcję w zależności od wymagań witryny docelowej. Zobacz Jak odróżnić Challenge od kołowrotu.

Opcja 1 · Wyzwanie (token) — domyślnie działa na serwerach proxy CapMonster Cloud. Wymagane pola:

ParametrOpis
wpiszTurnstileTask
websiteURLAdres URL strony, na której rozwiązano wyzwanie
websiteKeyKlucz Cloudflare Challenge, np. 0x4AAAAAAABUYP0XeMJF0xoy
cloudflareTaskTypetoken
pageActionPole action z captcha callback, najczęściej managed lub non-interactive
userAgentAktualny UA obsługiwany przez CapMonster Cloud. Najnowszą wartość można uzyskać pod adresem https://capmonster.cloud/api/useragent/actual.
daneWartość parametru cData
pageDataWartość parametru chlPageData

Opcjonalnie: apiJsUrl i pola proxy. Własne proxy są potrzebne tylko wtedy, gdy witryna nie akceptuje token lub usługi wbudowane są ograniczone; z autoryzacją IP, biała lista 65.21.190.34.

Przykład żądania:

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"
  }
}

Opcja 2 · Wyzwanie (cookie) — wymaga własnego serwera proxy. Wymagane pola:

ParametrOpis
wpiszTurnstileTask
websiteURLAdres URL strony, na której rozwiązano wyzwanie
websiteKeyMożna przekazać dowolny ciąg znaków, np. xxxxxx
cloudflareTaskTypecf_clearance
htmlPageBase64Base64 strony „Chwileczkę” wrócił ze statusem 403
userAgentAktualny UA obsługiwany przez CapMonster Cloud. Najnowszą wartość można uzyskać pod adresem https://capmonster.cloud/api/useragent/actual.
proxyTypehttp, https (dla niektórych niestandardowych serwerów proxy), socks4, socks5
proxyAddress, proxyPort, proxyLogin, proxyPasswordTwój pełnomocnik. Przejrzyste i lokalne serwery proxy są niedozwolone.

Przykład żądania:

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"
  }
}

Punkt końcowy i odpowiedź — takie same dla obu opcji:

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

Odpytuj wynik — getTaskResult

Odpytuj getTaskResult za pomocą taskId, aż status stanie się ready. Żądanie jest identyczne dla obu opcji; obiekt solution przenosi dowolny wynik, o jaki prosiłeś.

Punkt końcowy i żądanie:

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

Opcja 1 · Wyzwanie (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"
  }
}

Użyj token podczas wywoływania funkcji callback na stronie.

Opcja 2 · Wyzwanie (cookie) — solution.cf_clearance

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

Specjalny plik cookie Cloudflare, który dodajesz do swojej przeglądarki lub wysyłasz z nieprzetworzonymi żądaniami HTTP.

Użyj zwróconego token lub pliku cookie

Jeśli używasz pliku cookie, przekaż jego wartość w nagłówku Cookie: cf_clearance=<value> w surowych żądaniach HTTP lub ustaw ją w kontekście przeglądarki przed ponownym zażądaniem chronionego adresu URL.

Jeżeli korzystasz z token przekaż go do wyzwania callback na stronie.

Jak znaleźć parametry Cloudflare Challenge

Opcja token wymaga wartości, które strona przekazuje do turnstile.render po rozpoczęciu wyzwania: sitekey (websiteKey), action (pageAction), cData (dane) i chlPageData (pageData). Opcja plików cookie wymaga HTML strony wyzwania w htmlPageBase64; websiteKey może być dowolnym ciągiem znaków.

Jak znaleźć parametry 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. Uruchom ten JavaScript przed załadowaniem innych skryptów strony — zastępuje on window.turnstile i drukuje parametry przekazane do render.

  2. Odczytaj action (pageAction), cData (dane) i chlPageData (pageData) z tabeli w konsoli; sitekey (websiteKey) jest przekazywany w tym samym obiekcie. pageAction to zwykle managed lub non-interactive.

  3. Aby automatycznie zbierać wartości, użyj przeglądarki sterowanej przez Playwright (zwykłej lub bezgłowej): zawiń window.turnstile w Proxy i przechwyć render. Gotowe przykłady w JavaScript, Python i C# znajdują się w dokumentacji.

  4. Niektóre wartości zmieniają się przy każdym renderowaniu strony wyzwania, więc utwórz zadanie zaraz po ich zebraniu.

javascript
fetch('https://example.com')
  .then(res => res.arrayBuffer())
  .then(buf => console.log(btoa(String.fromCharCode(...new Uint8Array(buf)))));
  1. Poproś o chronioną witrynę; zwraca stronę „Chwileczkę…” z kodem stanu 403.

  2. Zakoduj tę stronę w Base64 — to jest htmlPageBase64 (fragment pokazuje w jedną stronę; przykłady Playwright z page.content() znajdują się w dokumentacji).

  3. Przekaż dowolny ciąg jako websiteKey (na przykład xxxxxx) i użyj własnego proxy.

  4. Utwórz zadanie zaraz po zebraniu wartości.

Solver Cloudflare Challenge z oficjalnym SDK

CapMonster Cloud udostępnia gotowe biblioteki umożliwiające wygodną pracę w Python, JavaScript (Node.js) i C#.
Poniżej znajdują się przykłady kodu pokazujące, jak utworzyć zadanie rozwiązujące CAPTCHA za pomocą createTask i pobrać wynik za pomocą getTaskResult przy użyciu naszych bibliotek klienckich.
Oficjalne zestawy 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))
    # Podstawowy przykład bez proxy; CapMonster Cloud automatycznie korzysta z własnych serwerów proxy
    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 można rozwiązać tylko przy użyciu własnego serwera proxy
    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 }));
  // Podstawowy przykład bez proxy; CapMonster Cloud automatycznie korzysta z własnych serwerów proxy
  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 można rozwiązać tylko przy użyciu własnego serwera proxy
  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);
        // Podstawowy przykład bez proxy; CapMonster Cloud automatycznie korzysta z własnych serwerów proxy
        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 można rozwiązać tylko przy użyciu własnego serwera proxy
        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);
    }
}

W przypadku przepływów pracy wymagających niewielkiej ilości kodu użyj oficjalnego CapMonster Cloud węzeł n8n.

Używanie pliku cookie cf_clearance w Twoich żądaniach

text
GET https://example.com/protected-page
User-Agent: <userAgent from the task>
Cookie: cf_clearance=<value>
ten sam serwer proxyten sam User-Agentplik cookie nie wygasł

Przekaż zwróconą wartość w nagłówku Cookie: cf_clearance=<value> w przypadku surowych żądań HTTP lub ustaw ją w kontekście przeglądarki przed ponownym zażądaniem chronionego adresu URL. W oficjalnych przykładach do załadowania strony, rozwiązania zadania i wysłania żądania z plikiem cookie używany jest ten sam serwer proxy i ten sam User-Agent.

W Selenium, Playwright lub Puppeteer ustaw plik cookie za pomocą własnej metody frameworku przed przejściem do chronionego adresu URL — przeglądarka otworzy wówczas stronę bez ponownego wezwania. Jeśli poprosiłeś o token, przekaż go zamiast tego do wyzwania callback na stronie.

Background

Błędy Cloudflare Challenge i jak je naprawić

Większość błędów Cloudflare Challenge wynika z wygasłego lub niedopasowanego pliku cookie cf_clearance, serwera proxy, którego usługa nie akceptuje, lub nieaktualnych parametrów strony. Każda karta poniżej zawiera nazwę błędu i jego rozwiązanie.
Bug Icon

Powtórzone wyzwanie lub 403 po rozwiązaniu

Żądanie nie zawiera prawidłowego pliku cookie cf_clearance, plik cookie wygasł lub Cloudflare ponownie sprawdził sesję (Precursor clearance). Poproś o nowy plik cookie.
Bug Icon

Proxy lub User-Agent różni się od zadania

Użyj tego samego proxy i tego samego userAgent, co w zadaniu, gdy żądasz chronionej strony, jak w oficjalnych przykładach. Cloudflare zauważa również, że Managed Challenge rozwiązany z innego adresu IP niż ten, na który został wydany, jest nieważny i może powodować pętlę wyzwań — patrz dokumentacja Cloudflare.
Bug Icon

Wygasłe ciasteczko

Plik cookie jest ważny przez ograniczony czas. Długo działający skrypt musi ponownie rozwiązać wyzwanie po jego wygaśnięciu.
Bug Icon

Serwer proxy nie został zaakceptowany

Użyj http, https, socks4 lub socks5.
Bug Icon

Nieaktualne parametry strony

Niektóre wartości zmieniają się przy każdym renderowaniu strony wyzwania. Wyodrębnij je bezpośrednio przed utworzeniem zadania.

Często zadawane pytania dotyczące Cloudflare Challenge

Co to jest Cloudflare Challenge?

Cloudflare Challenge to pośrednie sprawdzenie, które Cloudflare wyświetla przed udzieleniem dostępu do chronionej strony, gdy reguła WAF, Bot Management lub ograniczenie szybkości uznają żądanie za podejrzane (na przykład na podstawie odcisku palca TLS, reputacji IP lub sygnałów behawioralnych). W trakcie sprawdzania odwiedzający widzi pośrednią stronę „Chwileczkę…”. Jeśli weryfikacja przebiegła pomyślnie, Cloudflare generuje plik cookie cf_clearance — jest on powiązany z osobą odwiedzającą i urządzeniem i jest ważny przez ograniczony czas — po czym przeglądarka uzyskuje dostęp do oryginalnej strony.

Jaka jest różnica między JS Challenge, Managed Challenge i kołowrotem?

Wszystkie trzy opierają się na sygnałach po stronie klienta z przeglądarki. JS Challenge (nieinteraktywny) działa w tle, zwykle w mniej niż pięć sekund; jeśli nie zostanie zaliczony, Cloudflare wyświetli kolejną stronę wyzwania. Managed Challenge umożliwia Cloudflare dynamiczny wybór kontroli na podstawie charakterystyki żądania i sygnałów przeglądarki, aż do etapu interaktywnego. Turnstile to osadzony widget, który zwraca token do sprawdzenia poprzez Siteverify API; z opcjonalnym zezwoleniem wstępnym może również wystawić plik cookie cf_clearance.

Dlaczego ciągle otrzymuję komunikat Cloudflare CAPTCHA, stronę weryfikacyjną lub błąd 403?

Powtarzające się wyzwanie lub błąd 403 oznacza, że żądanie nie zawiera prawidłowego pliku cookie cf_clearance, plik cookie wygasł lub żądanie pochodzi od innego gościa lub urządzenia niż to, do którego wydano plik cookie. Nawet ważny plik cookie nie gwarantuje dostępu: Cloudflare obsługuje Precursor clearance — ciągłą ponowną ocenę zachowania sesji, która może obniżyć lub zresetować poziom zezwolenia i wywołać ponowne wyzwanie, jeśli wzorzec ruchu zacznie wyglądać podejrzanie.

W jaki sposób CapMonster Cloud rozwiązuje problem Cloudflare Challenge?

CapMonster Cloud rozwiązuje zadanie asynchronicznie poprzez dwa wywołania API: createTask z parametrami zadania, a następnie odpytywanie getTaskResult aż do momentu, gdy rozwiązanie będzie gotowe. W zależności od typu zadania usługa zwraca albo plik token — który jest wstawiany do callback bez serwera proxy — albo plik cookie cf_clearance, dla którego serwer proxy jest obowiązkowy. Następnie przekazujesz wynikową wartość do nagłówka Cookie: cf_clearance=<value> zwykłych żądań HTTP lub ustawiasz ją w kontekście przeglądarki — po czym chroniona strona otwiera się bez ręcznego sprawdzania.

Jak rozwiązać problem Cloudflare Challenge w moim projekcie?

Wyślij żądanie POST do createTask z Twoim clientKey (klucz API) i parametrami zadania, poczekaj, aż wynik będzie gotowy, odpytując getTaskResult (aż status będzie ready), a następnie użyj powstałego token lub pliku cookie w automatyzacji klienta HTTP lub przeglądarki. Do gotowych integracji użyj oficjalnych SDK znajdujących się w repozytoriach CapMonster Cloud na GitHubie — spajają one cykl createTask / getTaskResult w jedno wywołanie.

Czy potrzebuję serwera proxy, aby rozwiązać wyzwania Cloudflare?

Serwer proxy jest obowiązkowy tylko w przypadku zadania, które zwraca plik cookie cf_clearance. W oficjalnych przykładach ten sam serwer proxy jest następnie używany do następujących żądań. W przypadku wyniku token nie jest wymagany serwer proxy — CapMonster Cloud domyślnie używa wbudowanych serwerów proxy (jeśli dodajesz do białej listy według adresu IP, dodaj 65.21.190.34). Obsługiwane typy: http, https, socks4, socks5; przezroczyste serwery proxy i serwery proxy na komputerach lokalnych są niedozwolone.

Czy mogę używać CapMonster Cloud jako solwera Cloudflare Challenge z n8n lub Selenium?

Tak. W przypadku n8n dostępny jest oficjalny węzeł CapMonster Cloud — instalowany z interfejsu lub poprzez npm install @zennolab_com/n8n-nodes-capmonstercloud w instancjach hostowanych samodzielnie. W innych przypadkach Twój kod najpierw wysyła zwykłe żądanie HTTP do CapMonster API (poprzez żądania, axios lub dowolnego innego klienta HTTP), a następnie wynik jest przekazywany do struktury przeglądarki (Selenium, Playwright, Puppeteer itp.) przy użyciu własnej metody. Za pomocą tej metody należy ustawić plik cookie cf_clearance przed przejściem do chronionego adresu URL — wtedy przeglądarka otworzy stronę z już prawidłowym sprawdzeniem, bez ponownego sprawdzania.

Czy automatyczne rozwiązywanie wyzwań Cloudflare jest legalne?

Rozwiązanie Cloudflare Challenge jest operacją techniczną i jej zgodność z prawem zależy od sposobu wykorzystania uzyskanego dostępu, a nie od samego narzędzia. CapMonster Cloud jest przeznaczony do automatyzacji prawnej — testowania, monitorowania i gromadzenia publicznie dostępnych danych — przy czym odpowiedzialność za zgodność z prawem i Warunkami korzystania z zasobu docelowego spoczywa na użytkowniku.

CapMonster Cloud

Nie gwarantujemy 100% skuteczności: typy CAPTCHA i konfiguracja witryny docelowej mogą ulec zmianie w dowolnym momencie. Rzeczywista szybkość rozwiązywania problemów i wskaźnik powodzenia różnią się w zależności od witryny docelowej, obciążenia serwera i warunków sieciowych.

Cloudflare jest znakiem towarowym Cloudflare, Inc. CapMonster Cloud nie jest powiązany ani wspierany przez Cloudflare. Usługa przeznaczona jest do publicznie dostępnych danych, testowania własnych lub autoryzowanych stron internetowych, rozpoznawania obrazu i dostępności. Zbieranie danych osób trzecich za loginem lub zaporą płatniczą bez pozwolenia jest zabronione; nie ma to wpływu na Twoje konta. Stan prawny swoich danych ustalasz przed rozpoczęciem pracy.