Troubleshooting

Cloudflare Challenge — Error dan Perbaikan

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

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"])

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

  1. Apakah halaman memang di belakang Cloudflare Challenge, bukan Turnstile atau reCAPTCHA?
  2. Apakah semua parameter wajib sudah ada? (method, pageurl, proxy, proxytype)
  3. Apakah proxy benar-benar berfungsi? Uji dengan curl
  4. Apakah egress jaringan yang diotorisasi atau ISP dipakai? (IP pusat data mudah diblokir)
  5. Apakah proxy yang sama dipakai untuk solving DAN request?
  6. Apakah user agent dari hasil solve dipakai ulang saat request?
  7. Apakah cookie diset ke domain yang benar?
  8. 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.

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.


Bacaan terkait

Komentar dinonaktifkan untuk artikel ini.