Solving Cloudflare Challenge lebih kompleks dibanding jenis CAPTCHA lain karena memerlukan pencocokan proxy, IP binding, dan konsistensi user agent. Berikut error paling umum dan cara memperbaikinya.
Error Submit API
ERROR_BAD_PARAMETERS
Penyebab: Parameter yang diperlukan tidak ada.
Perbaikan: Cloudflare Challenge memerlukan parameter berikut:
method=cloudflare_challenge
pageurl=https://example.com
proxy=user:pass@host:port
proxytype=HTTP
Keempatnya wajib. Tidak seperti Turnstile atau reCAPTCHA, proxy diperlukan.
ERROR_PROXY_CONNECTION_FAILED
Penyebab: CaptchaAI tidak dapat terhubung melalui proxy Anda.
Perbaikan:
- Uji proxy secara mandiri:
curl -x http://user:pass@host:port https://httpbin.org/ip - Pastikan proxy mendukung HTTPS
- Periksa persyaratan daftar putih IP pada penyedia proxy Anda
- Coba proxy lain dari penyedia yang sama
ERROR_PROXY_BANNED
Penyebab: IP proxy Anda diblokir oleh Cloudflare.
Perbaikan:
- Beralih ke egress jaringan yang diotorisasi atau ISP
- IP datacenter banyak ditandai oleh Cloudflare
- Rotasi ke IP baru dan coba lagi
ERROR_CAPTCHA_UNSOLVABLE
Penyebab: Tantangan tidak dapat diselesaikan, bahkan setelah percobaan ulang.
Perbaikan:
- Situs ini mungkin telah mengubah pengaturan Cloudflare-nya
- Coba proxy lain (IP proxy itu sendiri mungkin diblokir)
- Tunggu 5 menit dan coba lagi — Cloudflare mungkin berada dalam mode keamanan yang ditingkatkan
- Pastikan URL halaman masih menampilkan Cloudflare Challenge
Error Cookie qa_validation_cookie
Cookie Ditolak — Situs Masih Menampilkan Challenge
Penyebab: IP tidak cocok antara solving dan penggunaan.
Perbaikan: 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}"}
Cookie Ditolak — User-Agent Tidak Cocok
Penyebab: User-Agent berbeda antara solving dan request.
Perbaikan: Gunakan user agent yang dikembalikan dalam respons solve:
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 Kedaluwarsa
Penyebab: qa_validation_cookie memiliki TTL terbatas (biasanya 15 menit – 24 jam).
Perbaikan:
- Periksa kapan Anda mendapatkan cookie
- Solve ulang sebelum TTL berakhir
- Implementasikan solve ulang otomatis saat mendapat respons halaman challenge
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
Error Timeout
Solving Terlalu Lama (>5 menit)
Penyebab: Halaman Cloudflare Challenge bisa lambat jika proxy lambat atau challenge kompleks.
Perbaikan:
- Gunakan proxy lebih cepat dengan latensi lebih rendah
- Naikkan batas polling ke 60 percobaan (5 menit)
- Periksa apakah situs benar-benar menggunakan Cloudflare Challenge vs jenis lain
CAPCHA_NOT_READY Terus Muncul
Penyebab: Solving masih dalam proses.
Perbaikan:
- Cloudflare Challenge butuh 20–60 detik, lebih lama dari jenis lain
- Poll setiap 5 detik hingga 60 percobaan
- Jika masih belum siap setelah 5 menit, batalkan dan coba lagi dengan proxy lain
Error Integrasi Umum
| Error | Hasil | Perbaikan |
|---|---|---|
| Parameter proxy tidak ada | ERROR_BAD_PARAMETERS |
Selalu sertakan proxy untuk CF Challenge |
| Menggunakan proxy datacenter | ERROR_PROXY_BANNED |
Gunakan egress jaringan yang diotorisasi |
| UA berbeda untuk request | Cookie ditolak | Gunakan kembali UA dari hasil solve |
| IP berbeda untuk request | Cookie ditolak | Gunakan proxy yang sama untuk semua request |
| Tidak menetapkan domain cookie | Cookie tidak terkirim | Set domain ke .example.com (dengan awalan titik) |
| Menggunakan HTTP, bukan HTTPS | Koneksi gagal | Cloudflare memerlukan HTTPS |
Checklist Debug
- ✅ Apakah halaman benar-benar di belakang Cloudflare Challenge? (bukan Turnstile atau reCAPTCHA)
- ✅ Apakah semua parameter yang diperlukan disertakan? (method, pageurl, proxy, proxytype)
- ✅ Apakah proxy berfungsi? Uji dengan
curl - ✅ Apakah egress jaringan yang diotorisasi atau ISP? (IP datacenter diblokir)
- ✅ Apakah Anda menggunakan proxy yang sama untuk solving DAN request?
- ✅ Apakah Anda menggunakan user agent yang dikembalikan untuk request?
- ✅ Apakah cookie di-set ke domain yang benar?
- ✅ Apakah cookie masih dalam TTL-nya?
Pertanyaan Umum
Mengapa proxy diperlukan untuk Cloudflare Challenge tapi tidak untuk reCAPTCHA?
Cloudflare mengikat cookie qa_validation_cookie ke alamat IP. Solving harus terjadi dari IP yang sama yang akan digunakan untuk request berikutnya. Token reCAPTCHA tidak terikat pada IP.
Bisakah saya menggunakan proxy SOCKS5?
Ya. Set proxytype=SOCKS5 dan format proxy sebagai user:pass@host:port.
Bagaimana cara tahu apakah cookie saya masih valid?
Buat request dengan cookie. Jika respons 200 dengan konten halaman, valid. Jika 403 atau melihat "Checking your browser", cookie sudah kedaluwarsa.
Mengapa saya terus mendapat ERROR_CAPTCHA_UNSOLVABLE?
Ini biasanya berarti IP proxy banyak ditandai Cloudflare. Rotasi ke IP residensial baru. Jika error berlanjut di beberapa IP baru, situs tersebut mungkin memiliki pengaturan Cloudflare yang sangat ketat.
Panduan Terkait
- Cara Kerja Cloudflare Challenge
- Referensi Kode Error CaptchaAI