# Cloudflare doğrulama sayfası

> YesCaptcha ile Cloudflare'in "Lütfen bekleyin" kontrol sayfasını (5 saniyelik doğrulama) geçin; cf_clearance gibi çerezleri, User-Agent'ı ve sayfa içeriğini alın. CloudFlareTaskS2 ve CloudFlareTaskS3 parametreleri, proxy gereksinimleri, dönen sonuç, sonucun kullanımı ve sık görülen hatalar.

Source: https://docs.yescaptcha.com/tr/tasks/cloudflare-challenge/ · Last verified: 2026-10-19

> This page was machine-translated from the Chinese version. If anything differs, the Chinese version prevails: https://docs.yescaptcha.com/zh/tasks/cloudflare-challenge/

Cloudflare doğrulama sayfası, sitenin tamamının Cloudflare tarafından durdurulduğu ve “Lütfen bekleyin…”, “Tarayıcınız kontrol ediliyor” ifadelerinin gösterildiği kontrol sayfasıdır. YesCaptcha, sizin verdiğiniz proxy ile sayfayı açar ve kontrolü geçer; `cf_clearance` gibi çerezleri, kullanılan User-Agent’ı, istek başlıklarını, yanıt başlıklarını ve kontrol sonrası sayfanın HTML’ini döndürür. `CloudFlareTaskS2` görev başına 25 puan (≈ $3.75 / 1k), `CloudFlareTaskS3` görev başına 20 puan (≈ $3.00 / 1k) ücretlendirilir; iki türün parametreleri, dönen sonucu ve etkisi aynıdır, yalnızca fiyatları farklıdır. Sonuç asenkron döner; tek bir görev genellikle 6 ile 35 saniye sürer, siteye göre fark büyüktür. Başarısız olan veya zaman aşımına uğrayan görevlerde puan iadesi otomatik yapılır.

- POST `https://api.yescaptcha.com/createTask` (Global uç nokta)
- POST `https://cn.yescaptcha.com/createTask` (Çin uç noktası)

## Kullanım senaryoları

-   Sayfa kaynağında `__cf_chl_rt_tk` veya `cdn-cgi/challenge-platform` varsa ve başlık `Just a moment...` / “Lütfen bekleyin” ise bu bir Cloudflare doğrulama sayfasıdır. Kontrol sayfasında “İnsan olduğunuzu doğrulayın” onay kutusunun işaretlenmesi gereken durumlar için de bu sayfa geçerlidir.
-   Yalnızca bir formun içine yerleştirilmiş Cloudflare doğrulama kutusu varsa bu [Turnstile](https://docs.yescaptcha.com/tr/tasks/turnstile.md) olur, bu sayfa gerekmez.
-   requests gibi bir kütüphaneyle istek yaptığınızda 403 ve “Just a moment…” dönüyor ama tarayıcıda sayfa doğrudan açılıyorsa, büyük olasılıkla yalnızca TLS parmak izi nedeniyle engelleniyorsunuzdur. Tarayıcının TLS parmak izini taklit eden bir kütüphane (ör. curl\_cffi) kullanmak yeterlidir, doğrulamayı geçmeniz gerekmez.

## Türler ve fiyatlar

| Görev türü | Fiyat | Mod | Notlar |
| --- | --- | --- | --- |
| `CloudFlareTaskS2` | $3.75 / 1k; 25 puan/görev · ¥25 / 1k | Asenkron | Kendi proxy'niz |
| `CloudFlareTaskS3` | $3.00 / 1k; 20 puan/görev · ¥20 / 1k | Asenkron | Kendi proxy'niz |

ABD doları fiyatları, 1 ABD doları ≈ ¥6.67 kuruyla hesaplanan tahminlerdir; görevler puan üzerinden ücretlendirilir.

## İstek parametreleri

| Alan | Tür | Zorunlu | Açıklama |
| --- | --- | --- | --- |
| `type` | string | Evet | Görev türü; bu sayfadaki "Görev türleri ve fiyatlar" bölümüne bakın |
| `websiteURL` | string | Evet | Doğrulamanın arkasındaki sayfanın tam URL'si. Herkese açık bir `http://` veya `https://` adresi olmalıdır; özel IP adresleri ile `localhost` gibi yerel veya iç ağ ana bilgisayar adları reddedilir |
| `proxy` | string | Evet | Tek bir dize olarak proxy: `http://user:pass@proxy.example.com:8080` (HTTP proxy, kimlik bilgileri isteğe bağlı) veya `socks5://proxy.example.com:1080` (kimlik bilgisiz). `https://` proxy'ler ve kimlik bilgili SOCKS5 desteklenmez, yerel veya özel adresler reddedilir. Hedef sayfa için yapılan tüm istekler bu proxy üzerinden geçer |
| `userAgent` | string | Hayır | Genellikle göndermeyin. Yalnızca Linux üzerindeki masaüstü Chrome User-Agent bilgisi kullanılır; diğerleri (Windows, macOS, mobil, diğer tarayıcılar) yok sayılır. Sonraki isteklerde her zaman sonuçtaki `user_agent` değerini kullanın |
| `waitLoad` | boolean | Hayır | Varsayılan false. true ise doğrulama geçildikten sonra görev, sayfanın ağ etkinliği durulana kadar bekler ve ardından döner; böylece `content` içinde dinamik olarak yüklenen daha fazla içerik bulunur, birkaç saniye daha uzun sürer |
| `requiredCookies` | array | Hayır | Mutlaka alınması gereken Cookie adları, dize dizisi olarak, örneğin `["cf_clearance"]`. Gönderilirse görev yalnızca hepsi alındığında başarılı olur; aksi halde `ERROR_CAPTCHA_UNSOLVABLE` döner ve puan iadesi yapılır. Gönderilmezse görev yine de `cf_clearance` almaya çalışır, ancak elde ettiği diğer Cookie'lerle de başarılı sayılır (ve puan düşümü yapılır); bu yüzden `cf_clearance` gerekiyorsa açıkça gönderin |
| `blockImage` | boolean | Hayır | true ise hedef sayfadaki görseller yüklenmez (Cloudflare doğrulamasının kendisinin ihtiyaç duyduklarını hariç), böylece proxy trafiği tasarrufu sağlanır |
| `postData` | object | Hayır | Gönderilirse `websiteURL` adresine normal bir HTML formu POST'u olarak iletilir (`application/x-www-form-urlencoded`): her anahtar bir form alanıdır ve değerler dize olarak gönderilir, örneğin `{"name": "hi"}`. Bir nesne olmalıdır |

### Proxy gereksinimleri

`proxy` zorunludur; hedef sayfayı açan tüm istekler bu proxy üzerinden gider. `cf_clearance` çıkış IP’sine bağlıdır, bu yüzden hedef siteye sonraki erişimlerde de aynı proxy kullanılmalıdır.

| Biçim | Destek durumu |
| --- | --- |
| `http://user:pass@proxy.example.com:8080` | Desteklenir: kullanıcı adı ve parolalı http proxy |
| `http://proxy.example.com:8080` | Desteklenir: kullanıcı adı ve parolasız http proxy |
| `socks5://proxy.example.com:1080` | Desteklenir: kullanıcı adı ve parolasız socks5 proxy; `socks5h://` `socks5://` gibi işlenir |
| `socks5://user:pass@proxy.example.com:1080` | Desteklenmez, `ERROR_PROXY_INCORRECT` döner; kullanıcı adı ve parola gerekiyorsa http proxy kullanın |
| `https://proxy.example.com:443` gibi diğer protokoller veya eksik port | Desteklenmez, `ERROR_PROXY_INCORRECT` döner |
| `127.0.0.1`, `192.168.x.x`, `10.x.x.x` gibi yerel, iç ağ ve ayrılmış adresler veya bu adreslere çözümlenen alan adları | Reddedilir, `ERROR_PROXY_BANNED` döner |

> **Görev oluşturulurken kontrol edilir:** URL veya proxy uygun değilse `createTask` doğrudan hata döndürür, puan düşümü yapılmaz. Aynı proxy kısa sürede birçok kez bağlanamazsa, sonraki bir süre boyunca bu proxy ile görev oluşturmak da doğrudan `ERROR_PROXY_BANNED` döndürür; lütfen başka bir proxy kullanın veya biraz sonra tekrar deneyin.

### User-Agent

Genellikle `userAgent` göndermeyin. Doğrulamayı Linux masaüstü Chrome ile geçiyoruz; yalnızca Linux masaüstü Chrome User-Agent’ı kabul edilir, diğerleri (Windows, macOS, mobil veya başka tarayıcılar) doğrudan yok sayılır: yapılan testlerde tarayıcının gerçek ortamı ile User-Agent uyuşmadığında Cloudflare doğrulaması geçilemiyor. Sonraki isteklerde her zaman sonuçtaki `user_agent` değerini kullanın.

## İstek örneği

POST https://api.yescaptcha.com/createTask

```json
{
  "clientKey": "YOUR_CLIENT_KEY",
  "task": {
    "type": "CloudFlareTaskS3",
    "websiteURL": "https://example.com/",
    "proxy": "http://user:pass@proxy.example.com:8080",
    "requiredCookies": ["cf_clearance"]
  }
}
```

-   `CloudFlareTaskS2` kullanmak için yalnızca `type` değerini değiştirin, diğer alanlar aynı kalır.
-   `requiredCookies` olarak `["cf_clearance"]` gönderilirse, `cf_clearance` alınamadığında görev başarısız olur ve puan iadesi yapılır; gönderilmezse, `cf_clearance` alınamayıp yalnızca başka çerezler alınsa bile görev başarılı sayılır ve puan düşülür.
-   Form göndermek için `postData` ekleyin, örneğin `{"name": "hi"}`; bu veri `websiteURL` adresine POST formu olarak gönderilir.

Görevi oluşturduktan sonra her 5 saniyede bir `getTaskResult` çağırın; akış diğer asenkron görevlerle aynıdır, bkz. [getTaskResult](https://docs.yescaptcha.com/tr/api/get-task-result.md).

## Dönen sonuç

```json
{
  "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>..."
  }
}
```

Yukarıdaki çerez değeri ve istek başlıkları örnek amaçlıdır; gerçek değerler için API’nin döndürdüğü yanıtı esas alın.

| Alan | Tür | Açıklama |
| --- | --- | --- |
| `cookies` | object | Doğrulama geçildikten sonra tarayıcıdaki tüm çerezler (ad-değer nesnesi); genellikle `cf_clearance` içerir. `requiredCookies` belirttiyseniz bunların her biri dahil edilir. Döndürülen `user_agent` ve sağladığınız proxy ile birlikte kullanın |
| `user_agent` | string | Tarayıcının doğrulamayı geçerken fiilen kullandığı User-Agent (Linux üzerinde masaüstü Chrome). `cf_clearance` bu değere bağlıdır; sonraki tüm isteklerde bunu kullanın |
| `request_headers` | object | Tarayıcının hedef sayfaya yaptığı son istekte gönderdiği istek başlıkları; sonraki isteklerde aynen kullanmanız önerilir |
| `headers` | object | Doğrulama geçildikten sonra hedef sayfanın yanıt başlıkları |
| `content` | string | Doğrulama geçildikten sonra hedef sayfanın HTML kaynağı |

## Sonucu kullanma

1.  Sonraki isteklerde dönen `cookies`, dönen `user_agent` ve görev oluşturulurken kullanılan aynı proxy’yi **birlikte** kullanın. `cf_clearance` User-Agent’a ve çıkış IP’sine bağlıdır; üçünden biri farklı olursa doğrulama sayfası yeniden çıkar.
2.  İstek başlıklarını mümkün olduğunca `request_headers` içindekilerle gönderin ve tarayıcıyla uyumlu bir TLS parmak izi kullanın (örneğin curl\_cffi’nin `impersonate` parametresi).
3.  `cf_clearance` belirli bir süre geçerlidir (süreyi hedef site belirler, bazı sitelerde 1 saate kadar çıkar); bu süre içinde doğrulamayı yeniden geçmeniz gerekmez. İstek sıklığı çok yüksek olursa IP’niz Cloudflare tarafından engellenebilir.
4.  Yalnızca sayfa içeriği gerekiyorsa `content` doğrudan kullanılabilir, sayfayı yeniden istemeniz gerekmez.

## Sık görülen hatalar

Görev oluşturulurken dönen hatalarda puan düşümü yapılmaz; görev oluşturulduktan sonra başarısız olan veya zaman aşımına uğrayan görevlerde puan iadesi otomatik yapılır. API yalnızca hata kodunu ve genel bir açıklamayı döndürür; ayrıntılı nedenler için aşağıdaki tabloya bakın.

| Hata kodu | Ne zaman döner | Ne yapmalı |
| --- | --- | --- |
| `ERROR_REQUIRED_FIELDS` | Görev oluştururken: `websiteURL` veya `proxy` eksik | İki zorunlu alanı da ekleyin |
| `ERROR_ILLEGAL_PARAMETERS` | Görev oluştururken: `websiteURL` `http://` / `https://` ile başlayan herkese açık bir URL değil, `postData` bir nesne değil, `requiredCookies` bir dize dizisi değil. Sonuç sorgularken: hedef URL’nin alan adı proxy üzerinden çözümlenemedi | Parametreleri düzeltin; URL yazımını ve proxy’nin bu siteye erişip erişemediğini kontrol edin |
| `ERROR_PROXY_INCORRECT` | Görev oluştururken: proxy biçimi hatalı, port eksik, `https://` proxy veya kullanıcı adı ve parolalı socks5 kullanılmış | Yukarıdaki “Proxy gereksinimleri” bölümündeki biçime göre düzeltin; kullanıcı adı ve parola gerekiyorsa http proxy kullanın |
| `ERROR_PROXY_BANNED` | Görev oluştururken: proxy yerel, iç ağ veya ayrılmış bir adres, ya da bu proxy kısa sürede birçok kez bağlanamadı. Sonuç sorgularken: hedef sitenin Cloudflare’i bu proxy’nin IP’sini doğrudan engelledi (“Sorry, you have been blocked”, “Access denied” sayfaları) | Başka bir proxy kullanın; IP kalitesi ne kadar iyiyse geçmek o kadar kolay olur |
| `ERROR_PROXY_CONNECT_REFUSED` | Proxy’ye bağlanılamadı (bağlantı reddedildi, proxy alan adı çözümlenemedi) veya proxy üzerinden sayfa açılırken bağlantı reddedildi ya da sıfırlandı | Proxy adresini ve portunu kontrol edin, proxy’nin çevrimiçi olduğundan ve dışarıdan erişime izin verdiğinden emin olun; yine olmazsa başka bir proxy kullanın |
| `ERROR_PROXY_CONNECT_TIMEOUT` | Proxy’ye bağlanırken veya proxy üzerinden sayfa açılırken zaman aşımı oldu | Daha hızlı ve daha kararlı bir proxy kullanın |
| `ERROR_PROXY_NOT_AUTHORISED` | Proxy kullanıcı adı veya parolası yanlış | `proxy` içindeki kullanıcı adı ve parolayı kontrol edin; özel karakterleri URL kodlamasından geçirin |
| `ERROR_PROXY_TLS_ERROR` | Proxy üzerinden sayfa açılırken TLS el sıkışması hatası oluştu | Proxy adresini, portunu ve protokolünü doğru yazdığınızdan emin olun; yine olmazsa başka bir proxy kullanın |
| `ERROR_CAPTCHA_UNSOLVABLE` | Belirlenen sürede doğrulama geçilemedi, geçildikten sonra hâlâ kontrol sayfasında kalındı veya `requiredCookies` içinde istenen çerez alınamadı | Önce proxy’yi değiştirip tekrar deneyin; bazı siteler için Destek ile iletişime geçebilirsiniz |
| `ERROR_NO_SLOT_AVAILABLE` | Görev oluştururken: sıra dolu. Sonuç sorgularken: görev çok uzun süre sırada bekledi ve başlamadı, puan iadesi yapıldı | Birkaç saniye bekleyip görevi yeniden oluşturun |
| `ERROR_TASK_TIMEOUT` | Görev belirlenen sürede tamamlanmadı | Görevi yeniden oluşturun; sürekli zaman aşımı genellikle proxy’nin çok yavaş olduğunu gösterir |

Tüm hata kodları için bkz. [Hata kodları](https://docs.yescaptcha.com/tr/api/errors.md).

## İlgili sayfalar

-   [CAPTCHA türünü belirleme](https://docs.yescaptcha.com/tr/guides/identify-captcha.md): Cloudflare doğrulama sayfası ile Turnstile arasındaki fark
-   [Cloudflare Turnstile](https://docs.yescaptcha.com/tr/tasks/turnstile.md)
