Hampir semua error Cloudflare Challenge bermuara pada satu hal: proxy, alamat IP, dan user agent yang tidak konsisten antara saat solving dan saat Anda memakai hasilnya. Cloudflare mengikat hasil solve ke kombinasi itu, jadi satu ketidakcocokan kecil membuat cookie ditolak dan challenge muncul lagi. Berikut error yang sering muncul — dari ERROR_BAD_PARAMETERS sampai timeout — beserta akar penyebab dan perbaikannya.
Diagnosis cepat: cocokkan gejala dengan penyebab
| Gejala | Hasil | Perbaikan |
|---|---|---|
| Parameter proxy tidak ada | ERROR_BAD_PARAMETERS |
Selalu sertakan proxy untuk Cloudflare Challenge |
| Memakai IP pusat data | ERROR_PROXY_BANNED |
Alihkan ke egress jaringan yang diotorisasi |
| User agent berbeda saat request | Cookie ditolak | Pakai ulang user agent dari hasil solve |
| IP berbeda saat request | Cookie ditolak | Pakai proxy yang sama untuk semua request |
| Domain cookie tidak diset | Cookie tidak terkirim | Set domain ke .example.com (pakai awalan titik) |
| Memakai HTTP, bukan HTTPS | Koneksi gagal | Cloudflare mewajibkan HTTPS |
Error saat mengirim task ke API
ERROR_BAD_PARAMETERS
Muncul ketika ada parameter wajib yang hilang. Tidak seperti Turnstile atau reCAPTCHA, Cloudflare Challenge mewajibkan proxy. Keempat parameter ini harus ada semua:
method=cloudflare_challenge
pageurl=https://example.com
proxy=user:pass@host:port
proxytype=HTTP
Tanpa salah satunya, task langsung ditolak.
ERROR_PROXY_CONNECTION_FAILED
CaptchaAI gagal tersambung lewat proxy Anda. Cek dari yang paling murah:
- Uji proxy sendiri lebih dulu:
curl -x http://user:pass@host:port https://httpbin.org/ip - Pastikan proxy mendukung HTTPS
- Cek apakah penyedia proxy Anda mewajibkan daftar putih IP
- Coba proxy lain dari penyedia yang sama
ERROR_PROXY_BANNED
IP proxy Anda diblokir Cloudflare — keluhan nomor satu di tantangan ini.
- Alihkan ke egress jaringan yang diotorisasi atau koneksi ISP
- IP pusat data paling banyak ditandai Cloudflare
- Rotasi ke IP baru lalu coba lagi
ERROR_CAPTCHA_UNSOLVABLE
Tantangan gagal diselesaikan meski sudah dicoba ulang:
- Situs mengubah pengaturan Cloudflare-nya
- IP proxy itu sendiri mungkin diblokir — ganti proxy
- Cloudflare sedang dalam mode keamanan yang ditingkatkan; tunggu 5 menit lalu ulangi
- Pastikan URL halaman memang masih menampilkan Cloudflare Challenge
Cookie qa_validation_cookie ditolak
Solving sukses tapi situs tetap menampilkan challenge? Hampir selalu penyebabnya IP atau user agent yang tidak cocok.
IP tidak cocok antara solve dan request
Cookie diikat ke IP saat solving. Gunakan proxy yang sama persis untuk request berikutnya:
# WRONG — proxy berbeda untuk solving dan request
solve_proxy = "proxy1.example.com:8080"
request_proxy = "proxy2.example.com:8080"
# CORRECT — proxy yang sama untuk keduanya
proxy = "user:pass@proxy1.example.com:8080"
# Submit solve dengan proxy ini
response = requests.get("https://ocr.captchaai.com/in.php", params={
"key": API_KEY,
"method": "cloudflare_challenge",
"pageurl": "https://example.com",
"proxy": proxy,
"proxytype": "HTTP",
"json": 1
})
# Gunakan proxy YANG SAMA untuk page request
session = requests.Session()
session.cookies.set("qa_validation_cookie", solved_cookie)
session.proxies = {"https": f"http://{proxy}"}
User agent tidak cocok
Cloudflare juga mencocokkan User-Agent. Pakai yang dikembalikan di respons solve, jangan menebak:
solution = result["request"]
# Extract and reuse the exact user agent
user_agent = solution.get("user_agent")
session = requests.Session()
session.headers["User-Agent"] = user_agent # Must match exactly
session.cookies.set("qa_validation_cookie", solution["qa_validation_cookie"])
Cookie sudah kedaluwarsa
qa_validation_cookie punya TTL terbatas — biasanya 15 menit hingga 24 jam. Solve ulang otomatis begitu halaman challenge muncul kembali:
def make_request(url, session):
response = session.get(url)
if "challenge" in response.text.lower() or response.status_code == 403:
# Cookie expired — re-solve
new_cookie = solve_cloudflare_challenge(url, proxy)
session.cookies.set("qa_validation_cookie", new_cookie)
response = session.get(url)
return response
Catat kapan cookie diperoleh, lalu solve ulang sebelum TTL habis.
Solving lambat dan timeout
Solve melebihi 5 menit
Halaman ini bisa lambat kalau proxy lambat atau tantangannya kompleks:
- Pakai proxy dengan latensi lebih rendah
- Naikkan batas polling ke 60 percobaan (setara 5 menit)
- Pastikan situs memang memakai Cloudflare Challenge, bukan proteksi lain
CAPCHA_NOT_READY muncul terus
Wajar selama solve berjalan — Cloudflare Challenge butuh 20–60 detik, lebih lama dari tipe lain. Poll tiap 5 detik sampai 60 percobaan; kalau 5 menit belum siap, batalkan dan ganti egress.
Skenario nyata: scraping dari region Asia Tenggara
Banyak developer di Indonesia menjalankan scraper dari instance cloud terdekat — misalnya AWS ap-southeast-1 (Singapura) atau ap-southeast-3 (Jakarta). IP pusat data dari region ini termasuk yang paling sering ditandai Cloudflare, jadi ERROR_PROXY_BANNED kerap muncul lebih dulu daripada bug di kode Anda. Perbaikannya bukan mengutak-atik skrip, melainkan mengarahkan solving dan request lewat egress jaringan yang diotorisasi dengan reputasi IP lebih bersih. Pastikan juga Anda hanya mengambil data yang boleh diproses — UU Pelindungan Data Pribadi (UU 27/2022) melarang pengumpulan data pribadi tanpa dasar yang sah.
Checklist debugging sebelum eskalasi
- Apakah halaman memang di belakang Cloudflare Challenge, bukan Turnstile atau reCAPTCHA?
- Apakah semua parameter wajib sudah ada? (method, pageurl, proxy, proxytype)
- Apakah proxy benar-benar berfungsi? Uji dengan
curl - Apakah egress jaringan yang diotorisasi atau ISP dipakai? (IP pusat data mudah diblokir)
- Apakah proxy yang sama dipakai untuk solving DAN request?
- Apakah user agent dari hasil solve dipakai ulang saat request?
- Apakah cookie diset ke domain yang benar?
- Apakah cookie masih dalam masa berlaku (TTL)?
Pertanyaan yang sering diajukan
Apakah CaptchaAI benar-benar mendukung Cloudflare Challenge?
Ya. Cloudflare Challenge termasuk tipe yang didukung penuh (GA) lewat method cloudflare_challenge. Yang membedakannya dari tipe lain hanyalah kewajiban proxy serta pencocokan IP dan user agent.
Berapa lama waktu penyelesaian Cloudflare Challenge?
Umumnya 20–60 detik, lebih lama dari Turnstile maupun reCAPTCHA. Poll tiap 5 detik hingga sekitar 60 percobaan.
Kenapa cookie qa_validation_cookie ditolak padahal solving berhasil?
Karena cookie itu terikat ke IP dan user agent saat solving. Jika request berikutnya keluar dari IP berbeda atau memakai User-Agent lain, Cloudflare menolaknya dan menampilkan challenge lagi. Pakai egress dan user agent yang sama persis.
Apakah proxy SOCKS5 bisa dipakai?
Bisa. Set proxytype=SOCKS5 dan tetap gunakan format proxy user:pass@host:port.
Apakah paket CaptchaAI membatasi jumlah solve Cloudflare Challenge?
Tidak. Harga CaptchaAI berbasis thread, bukan per solve — mulai dari BASIC ($15/bulan, 5 thread) ke atas, setiap paket memberi solve tanpa batas untuk bulan berjalan.