Pemecahan Masalah

Cloudflare Challenge — Error dan Perbaikan

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

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

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

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

  1. ✅ Apakah halaman benar-benar di belakang Cloudflare Challenge? (bukan Turnstile atau reCAPTCHA)
  2. ✅ Apakah semua parameter yang diperlukan disertakan? (method, pageurl, proxy, proxytype)
  3. ✅ Apakah proxy berfungsi? Uji dengan curl
  4. ✅ Apakah egress jaringan yang diotorisasi atau ISP? (IP datacenter diblokir)
  5. ✅ Apakah Anda menggunakan proxy yang sama untuk solving DAN request?
  6. ✅ Apakah Anda menggunakan user agent yang dikembalikan untuk request?
  7. ✅ Apakah cookie di-set ke domain yang benar?
  8. ✅ 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.

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
Komentar dinonaktifkan untuk artikel ini.