# Halaman verifikasi Cloudflare

> Lewati halaman pemeriksaan "Just a moment..." (Mohon tunggu) dari Cloudflare dengan YesCaptcha dan dapatkan cf_clearance serta Cookie lainnya, User-Agent, dan konten halaman: parameter CloudFlareTaskS2 dan CloudFlareTaskS3, persyaratan proxy, hasil, cara memakainya, dan error umum.

Source: https://docs.yescaptcha.com/id/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/

Halaman verifikasi Cloudflare adalah halaman pemeriksaan yang menghalangi seluruh halaman situs dan menampilkan “Mohon tunggu…” atau “Memeriksa browser Anda”. YesCaptcha membuka halaman melalui proxy yang Anda berikan, melewati pemeriksaan, lalu mengembalikan Cookie seperti `cf_clearance`, User-Agent yang dipakai saat itu, request header, response header, dan HTML halaman setelah lolos. `CloudFlareTaskS2` per tugas 25 poin (≈ $3.75 / 1k), `CloudFlareTaskS3` per tugas 20 poin (≈ $3.00 / 1k); kedua jenis memiliki parameter, hasil, dan efektivitas yang sama, hanya harganya yang berbeda. Hasil dikembalikan secara asinkron, satu tugas umumnya memakan 6 hingga 35 detik, dan bervariasi cukup besar antarsitus. Jika gagal atau timeout, poin dikembalikan otomatis.

- POST `https://api.yescaptcha.com/createTask` (Endpoint global)
- POST `https://cn.yescaptcha.com/createTask` (Endpoint Tiongkok)

## Kapan dipakai

-   Kode sumber halaman berisi `__cf_chl_rt_tk` atau `cdn-cgi/challenge-platform`, dan judulnya `Just a moment...` / “Mohon tunggu”: ini adalah halaman verifikasi Cloudflare. Halaman pemeriksaan yang meminta Anda mencentang kotak “Verifikasi bahwa Anda manusia” juga ditangani di halaman ini.
-   Jika hanya ada kotak verifikasi Cloudflare yang tertanam di formulir: itu [Turnstile](https://docs.yescaptcha.com/id/tasks/turnstile.md), bukan halaman ini.
-   Jika permintaan dengan library seperti requests mengembalikan 403 dan “Just a moment…”, padahal browser bisa membukanya langsung: kemungkinan besar hanya TLS fingerprint yang diblokir. Ganti dengan library yang dapat meniru TLS fingerprint browser (seperti curl\_cffi), maka permintaan bisa berhasil tanpa perlu melewati verifikasi.

## Jenis dan harga

| Jenis tugas | Harga | Mode | Catatan |
| --- | --- | --- | --- |
| `CloudFlareTaskS2` | $3.75 / 1k; 25 poin/tugas · ¥25 / 1k | Asinkron | Proxy sendiri |
| `CloudFlareTaskS3` | $3.00 / 1k; 20 poin/tugas · ¥20 / 1k | Asinkron | Proxy sendiri |

Harga dalam dolar AS adalah perkiraan dengan kurs US$1 ≈ ¥6.67; tugas ditagih dalam poin.

## Parameter permintaan

| Kolom | Tipe | Wajib | Deskripsi |
| --- | --- | --- | --- |
| `type` | string | Ya | Jenis tugas; lihat "Jenis tugas dan harga" di halaman ini |
| `websiteURL` | string | Ya | URL lengkap halaman yang berada di balik halaman verifikasi. Harus berupa URL publik berawalan `http://` atau `https://`; alamat IP privat serta nama host lokal atau internal seperti `localhost` akan ditolak |
| `proxy` | string | Ya | Proxy dalam satu string: `http://user:pass@proxy.example.com:8080` (proxy HTTP, kredensial opsional) atau `socks5://proxy.example.com:1080` (tanpa kredensial). Proxy `https://` dan SOCKS5 dengan kredensial tidak didukung, serta alamat lokal atau privat ditolak. Semua permintaan untuk halaman target melewati proxy ini |
| `userAgent` | string | Tidak | Biasanya tidak perlu diisi. Hanya User-Agent Chrome desktop di Linux yang dipakai; yang lain (Windows, macOS, seluler, browser lain) diabaikan. Untuk permintaan berikutnya, selalu gunakan `user_agent` dari hasil |
| `waitLoad` | boolean | Tidak | Default false. Jika true, setelah lolos verifikasi tugas menunggu hingga aktivitas jaringan halaman mereda sebelum mengembalikan hasil, sehingga `content` berisi lebih banyak konten yang dimuat secara dinamis; butuh beberapa detik lebih lama |
| `requiredCookies` | array | Tidak | Daftar nama Cookie yang wajib didapat, berupa array string, misalnya `["cf_clearance"]`. Jika diisi, tugas hanya berhasil bila semuanya didapat; jika tidak, tugas mengembalikan `ERROR_CAPTCHA_UNSOLVABLE` dan poin dikembalikan. Jika tidak diisi, tugas tetap berusaha mendapatkan `cf_clearance`, tetapi dianggap berhasil (dan poin dipotong) dengan Cookie lain yang didapat, jadi isi secara eksplisit jika Anda membutuhkan `cf_clearance` |
| `blockImage` | boolean | Tidak | Jika true, gambar di halaman target tidak dimuat (kecuali yang dibutuhkan oleh verifikasi Cloudflare itu sendiri), sehingga menghemat lalu lintas proxy |
| `postData` | object | Tidak | Jika diisi, data dikirim ke `websiteURL` sebagai POST formulir HTML biasa (`application/x-www-form-urlencoded`): setiap key adalah satu field formulir dan nilainya dikirim sebagai string, misalnya `{"name": "hi"}`. Harus berupa objek |

### Persyaratan proxy

`proxy` wajib diisi, dan semua permintaan untuk membuka halaman target melewati proxy ini. `cf_clearance` terikat pada IP keluar, jadi akses berikutnya ke situs target juga harus memakai proxy yang sama.

| Format | Didukung |
| --- | --- |
| `http://user:pass@proxy.example.com:8080` | Didukung: proxy http dengan akun dan kata sandi |
| `http://proxy.example.com:8080` | Didukung: proxy http tanpa akun dan kata sandi |
| `socks5://proxy.example.com:1080` | Didukung: proxy socks5 tanpa akun dan kata sandi; `socks5h://` diperlakukan sebagai `socks5://` |
| `socks5://user:pass@proxy.example.com:1080` | Tidak didukung, mengembalikan `ERROR_PROXY_INCORRECT`; jika memerlukan akun dan kata sandi, gunakan proxy http |
| `https://proxy.example.com:443` atau protokol lain, atau tanpa port | Tidak didukung, mengembalikan `ERROR_PROXY_INCORRECT` |
| Alamat lokal, jaringan internal, atau alamat yang dicadangkan seperti `127.0.0.1`, `192.168.x.x`, `10.x.x.x`, atau domain yang diresolusi ke alamat tersebut | Ditolak, mengembalikan `ERROR_PROXY_BANNED` |

> **Diperiksa saat tugas dibuat:** Jika URL atau proxy tidak valid, `createTask` langsung mengembalikan error dan tidak ada pemotongan poin. Jika sebuah proxy gagal terhubung beberapa kali dalam waktu singkat, membuat tugas dengan proxy itu juga akan langsung mengembalikan `ERROR_PROXY_BANNED` selama beberapa waktu; gunakan proxy lain atau coba lagi nanti.

### User-Agent

Umumnya tidak perlu mengirim `userAgent`. Kami lulus verifikasi dengan Chrome desktop di Linux, sehingga hanya User-Agent Chrome desktop di Linux yang dipakai; yang lain (Windows, macOS, ponsel, atau browser lain) diabaikan: dalam pengujian, verifikasi Cloudflare tidak lolos jika lingkungan browser sebenarnya tidak cocok dengan User-Agent. Untuk semua permintaan berikutnya, selalu gunakan `user_agent` dari hasil.

## Contoh permintaan

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

-   Untuk memakai `CloudFlareTaskS2`, ubah `type` saja, yang lain tetap.
-   Jika `requiredCookies` diisi `["cf_clearance"]`, tugas gagal dan poin dikembalikan bila `cf_clearance` tidak didapat; jika tidak diisi, tugas yang hanya mendapat Cookie lain tanpa `cf_clearance` tetap dianggap berhasil dan poin dipotong.
-   Untuk mengirim formulir, tambahkan `postData`, misalnya `{"name": "hi"}`; data dikirim ke `websiteURL` sebagai formulir POST.

Setelah tugas dibuat, panggil `getTaskResult` setiap 5 detik; alurnya sama seperti tugas asinkron lainnya, lihat [getTaskResult](https://docs.yescaptcha.com/id/api/get-task-result.md).

## Hasil

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

Nilai Cookie dan request header di atas hanya ilustrasi; yang berlaku adalah yang dikembalikan API.

| Kolom | Tipe | Deskripsi |
| --- | --- | --- |
| `cookies` | object | Semua cookie di browser setelah lolos verifikasi (objek nama ke nilai), biasanya termasuk `cf_clearance`; jika Anda mengisi `requiredCookies`, setiap cookie di dalamnya pasti disertakan. Gunakan bersama `user_agent` yang dikembalikan dan proxy yang Anda berikan |
| `user_agent` | string | User-Agent yang sebenarnya digunakan browser untuk lolos verifikasi (Chrome desktop di Linux). `cf_clearance` terikat dengannya, jadi gunakan untuk semua permintaan berikutnya |
| `request_headers` | object | Header permintaan yang dikirim browser pada permintaan terakhirnya ke halaman target; gunakan kembali pada permintaan berikutnya |
| `headers` | object | Header respons halaman target setelah lolos verifikasi |
| `content` | string | Sumber HTML halaman target setelah lolos verifikasi |

## Cara memakai hasil

1.  Untuk permintaan berikutnya, gunakan `cookies` yang dikembalikan, `user_agent` yang dikembalikan, **dan** proxy yang sama dengan saat membuat tugas. `cf_clearance` terikat pada User-Agent dan IP keluar; jika salah satu dari ketiganya tidak cocok, halaman verifikasi Cloudflare muncul lagi.
2.  Sertakan request header sesuai `request_headers` sebisa mungkin, dan gunakan TLS fingerprint yang sama dengan browser (misalnya parameter `impersonate` di curl\_cffi).
3.  `cf_clearance` memiliki masa berlaku (ditetapkan oleh situs target, di beberapa situs hingga 1 jam). Selama masa berlaku, Anda tidak perlu melewati verifikasi lagi; frekuensi permintaan yang terlalu tinggi dapat membuat IP diblokir oleh Cloudflare.
4.  Jika hanya membutuhkan konten halaman, langsung gunakan `content`, tidak perlu meminta halaman sekali lagi.

## Error umum

Error yang dikembalikan saat membuat tugas tidak dipotong poinnya; tugas yang gagal atau timeout setelah berhasil dibuat mendapat pengembalian poin otomatis. API hanya mengembalikan kode error dan keterangan umum, sehingga penyebab sebenarnya dapat dilihat pada tabel berikut.

| Kode error | Kapan dikembalikan | Yang perlu dilakukan |
| --- | --- | --- |
| `ERROR_REQUIRED_FIELDS` | Saat membuat tugas: `websiteURL` atau `proxy` tidak ada | Lengkapi kedua field wajib |
| `ERROR_ILLEGAL_PARAMETERS` | Saat membuat tugas: `websiteURL` bukan URL publik berawalan `http://` / `https://`, `postData` bukan objek, atau `requiredCookies` bukan array string. Saat memeriksa hasil: domain target tidak dapat diresolusi melalui proxy | Perbaiki parameter; periksa penulisan URL dan apakah proxy dapat mengakses situs tersebut |
| `ERROR_PROXY_INCORRECT` | Saat membuat tugas: format proxy salah, tidak ada port, memakai proxy `https://`, atau socks5 dengan akun dan kata sandi | Ubah sesuai format pada “Persyaratan proxy” di atas; jika memerlukan akun dan kata sandi, gunakan proxy http |
| `ERROR_PROXY_BANNED` | Saat membuat tugas: proxy adalah alamat lokal, jaringan internal, atau alamat yang dicadangkan, atau proxy ini gagal terhubung beberapa kali dalam waktu singkat. Saat memeriksa hasil: Cloudflare situs target langsung memblokir IP proxy ini (halaman “Sorry, you have been blocked” atau “Access denied”) | Ganti proxy; semakin baik kualitas IP, semakin mudah lolos |
| `ERROR_PROXY_CONNECT_REFUSED` | Tidak dapat terhubung ke proxy (koneksi ditolak, domain proxy tidak dapat diresolusi), atau koneksi ditolak atau direset saat membuka halaman melalui proxy | Periksa alamat dan port proxy, pastikan proxy online dan mengizinkan akses dari luar; jika masih gagal, ganti proxy |
| `ERROR_PROXY_CONNECT_TIMEOUT` | Timeout saat terhubung ke proxy atau saat membuka halaman melalui proxy | Gunakan proxy yang lebih cepat dan stabil |
| `ERROR_PROXY_NOT_AUTHORISED` | Akun atau kata sandi proxy salah | Periksa akun dan kata sandi di `proxy`; karakter khusus harus di-URL-encode |
| `ERROR_PROXY_TLS_ERROR` | Handshake TLS gagal saat membuka halaman melalui proxy | Pastikan alamat, port, dan protokol proxy tidak salah; jika masih gagal, ganti proxy |
| `ERROR_CAPTCHA_UNSOLVABLE` | Verifikasi tidak lolos dalam waktu yang ditentukan, halaman masih berupa halaman pemeriksaan setelah lolos, atau Cookie yang diminta di `requiredCookies` tidak didapat | Coba lagi dengan proxy lain; untuk situs tertentu, hubungi dukungan |
| `ERROR_NO_SLOT_AVAILABLE` | Saat membuat tugas: antrean penuh. Saat memeriksa hasil: antrean terlalu lama dan belum dimulai, poin sudah dikembalikan | Tunggu beberapa detik, lalu buat tugas lagi |
| `ERROR_TASK_TIMEOUT` | Tugas tidak selesai dalam waktu yang ditentukan | Buat tugas baru; timeout yang terus berulang umumnya berarti proxy terlalu lambat |

Daftar lengkap kode error ada di [Kode error](https://docs.yescaptcha.com/id/api/errors.md).

## Terkait

-   [Mengenali jenis captcha](https://docs.yescaptcha.com/id/guides/identify-captcha.md): perbedaan halaman verifikasi Cloudflare dan Turnstile
-   [Cloudflare Turnstile](https://docs.yescaptcha.com/id/tasks/turnstile.md)
