Pemecahan Masalah

Penurunan Tingkat Penyelesaian CAPTCHA: Diagnosis Regresi Kinerja

Tingkat penyelesaian CAPTCHA Anda turun dari 95% menjadi 60% dalam semalam. Sebelum menghubungi dukungan, panduan ini menjelaskan diagnosis terstruktur untuk menentukan akar permasalahan — baik itu kode, proxy, situs target, atau layanan CaptchaAI Anda.

Pohon Keputusan Diagnostik

Solve rate dropped
├── Is the API returning errors? → Check error codes
│   ├── ERROR_WRONG_USER_KEY → API key issue
│   ├── ERROR_ZERO_BALANCE → Balance depleted
│   ├── ERROR_NO_SLOT_AVAILABLE → Rate limiting
│   └── ERROR_CAPTCHA_UNSOLVABLE → CAPTCHA changed
├── Are tokens returned but rejected by the target site?
│   ├── Token expired before submission → Speed up injection
│   ├── Sitekey changed → Re-extract from page
│   └── Domain mismatch → Check pageurl parameter
├── Are proxies failing?
│   ├── Proxy banned by target → Rotate proxies
│   └── Proxy timeout → Check proxy health
└── Did the target site change?
    ├── New CAPTCHA type → Update method parameter
    ├── JavaScript changes → Re-analyze page
    └── Rate limiting by site → Reduce frequency

Langkah 1: Periksa Kode Kesalahan CaptchaAI

Jalankan skrip diagnostik cepat:

# diagnose_solve_rate.py
import os
import requests
from collections import Counter

API_KEY = os.environ.get("CAPTCHAAI_KEY", "YOUR_API_KEY")

def check_balance():
    """Verify API key and balance."""
    resp = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": API_KEY, "action": "getbalance", "json": "1",
    })
    result = resp.json()
    print(f"Balance: {result}")
    return result

def test_solve(sitekey, pageurl, runs=5):
    """Run test solves and collect error statistics."""
    errors = Counter()
    successes = 0

    for i in range(runs):
        # Submit
        resp = requests.get("https://ocr.captchaai.com/in.php", params={
            "key": API_KEY,
            "method": "userrecaptcha",
            "googlekey": sitekey,
            "pageurl": pageurl,
            "json": "1",
        })
        result = resp.json()

        if result.get("status") != 1:
            errors[result.get("request", "UNKNOWN")] += 1
            print(f"  Run {i+1}: Submit error: {result.get('request')}")
            continue

        task_id = result["request"]
        import time
        time.sleep(15)

        # Poll
        for _ in range(25):
            poll = requests.get("https://ocr.captchaai.com/res.php", params={
                "key": API_KEY, "action": "get",
                "id": task_id, "json": "1",
            })
            poll_result = poll.json()

            if poll_result.get("status") == 1:
                successes += 1
                print(f"  Run {i+1}: Solved")
                break
            if poll_result.get("request") != "CAPCHA_NOT_READY":
                errors[poll_result.get("request", "UNKNOWN")] += 1
                print(f"  Run {i+1}: Error: {poll_result.get('request')}")
                break
            time.sleep(5)
        else:
            errors["TIMEOUT"] += 1
            print(f"  Run {i+1}: Timeout")

    print(f"\nResults: {successes}/{runs} solved")
    if errors:
        print(f"Errors: {dict(errors)}")

# Run diagnostics
print("=== Balance Check ===")
check_balance()

print("\n=== Test Solves ===")
test_solve("YOUR_SITEKEY", "https://your-staging.example.com", runs=5)

Langkah 2: Verifikasi Parameter Situs Target

Penyebab paling umum penurunan tingkat penyelesaian adalah perubahan kunci situs atau struktur halaman.

Periksa apakah kunci situs berubah

Kunjungi halaman target, buka DevTools (F12), dan cari:

  • reCAPTCHA: panggilan data-sitekey atau grecaptcha.render
  • Cloudflare Turnstile: data-sitekey di widget Cloudflare Turnstile
  • GeeTest: Parameter gt dalam inisialisasi GeeTest

Bandingkan dengan kunci situs dalam kode Anda. Satu karakter yang diubah menyebabkan kegagalan 100%.

Periksa apakah jenis CAPTCHA berubah

Beberapa situs bermigrasi antar penyedia CAPTCHA:

  • reCAPTCHA v2 → reCAPTCHA v3 (tidak terlihat)
  • reCAPTCHA → Cloudflare Turnstile
  • Gambar CAPTCHA → reCAPTCHA Perusahaan

Jika jenisnya berubah, perbarui parameter method Anda.

Langkah 3: Evaluasi Kesehatan Proxy

Kualitas proksi secara langsung memengaruhi tingkat penyelesaian, terutama untuk CAPTCHA berbasis token tempat CaptchaAI menggunakan proksi Anda.

Masalah Proxy Gejala Solusi
Proxy diblokir oleh target Token solve tapi ditolak Rotasi ke egress jaringan yang diotorisasi baru
Error proxy ERROR_PROXY_NOT_FOUND Verifikasi proxy masih hidup dan accessible
Proxy datacenter terdeteksi Solve rate lebih rendah Beralih ke egress jaringan yang diotorisasi
Proxy geo mismatch Hasil tidak konsisten Sesuaikan negara proxy dengan situs target

Uji tanpa proksi terlebih dahulu (jika jenis CAPTCHA mendukung penyelesaian tanpa proksi) untuk mengisolasi apakah proksi yang menjadi masalahnya.

Langkah 4: Periksa Waktu Token

Token CAPTCHA memiliki validitas terbatas:

Jenis CAPTCHA Token Seumur Hidup
reCAPTCHA v2 ~120 detik
reCAPTCHA v3 ~120 detik
Cloudflare Turnstile ~300 detik
GeeTest v3 ~60 detik

Jika alur Anda memerlukan waktu terlalu lama antara menerima token dan memasukkannya ke dalam formulir, token akan kedaluwarsa dan situs akan menolaknya.

Perbaikan: Ukur waktu antara getTaskResult dan submit form. Jika > 60 detik, optimalkan pipeline Anda.

Langkah 5: Analisis Distribusi Kesalahan

Urutkan kesalahan Anda berdasarkan frekuensi untuk menemukan akar masalahnya:

Kesalahan Artinya Tindakan
ERROR_CAPTCHA_UNSOLVABLE CAPTCHA terlalu rumit atau berubah Laporkan ke CaptchaAI; periksa apakah kunci situs benar
ERROR_WRONG_CAPTCHA_ID Melakukan polling pada ID tugas yang salah Perbaiki pelacakan ID tugas dalam kode Anda
ERROR_ZERO_BALANCE Kehabisan kredit Isi ulang saldo
ERROR_NO_SLOT_AVAILABLE Rate limited Kurangi concurrency atau tambahkan delay
CAPCHA_NOT_READY (timeout) Solve terlalu lama Naikkan polling timeout; periksa sitekey valid

Langkah 6: Bandingkan Dengan Baseline

Jika Anda menjalankan tolok ukur sebelumnya, bandingkan metrik saat ini dengan standar Anda:

Metrik Dasar Saat ini Delta Kekhawatiran?
Tingkat penyelesaian 95% ? > Penurunan 5% = selidiki
Waktu penyelesaian median 15 detik ? > kenaikan 50% = selidiki
Tingkat kesalahan 2% ? > 5% = selidiki
Tingkat penerimaan token 98% ? > Penurunan 3% = situs diubah

Kapan Harus Menghubungi Dukungan

Hubungi dukungan CaptchaAI jika:

  • Semua langkah diagnostik berhasil tetapi tingkat penyelesaiannya tetap rendah
  • Tingkat ERROR_CAPTCHA_UNSOLVABLE melebihi 20% pada kunci situs yang berfungsi sebelumnya
  • Saldo menunjukkan benar tetapi penyelesaiannya masih gagal
  • Masalah ini berlanjut selama lebih dari 2 jam

Sertakan dalam laporan Anda:

  1. Jenis CAPTCHA dan kunci situs
  2. URL situs target
  3. Distribusi kesalahan (dari skrip diagnostik)
  4. Saat masalah dimulai
  5. Perubahan apa pun yang Anda buat pada kode Anda

Referensi Cepat Pemecahan Masalah

Skenario Kemungkinan Penyebab Tindakan Pertama
100% gagal, semua ERROR_WRONG_USER_KEY API key tidak valid Periksa kembali API key
Penurunan bertahap selama beberapa hari Degradasi proxy Rotasi proxy
Tiba-tiba turun ke 0% Sitekey atau halaman berubah Ekstrak ulang parameter CAPTCHA
Solve berhasil tapi token ditolak situs Token kedaluarsa atau domain mismatch Periksa timing dan pageurl
Bekerja di test site, gagal di target Pembatasan spesifik situs Bandingkan parameter antar situs

Pertanyaan Umum

Bisakah tingkat penyelesaian CaptchaAI berubah untuk situs tertentu?

Ya. Jika situs meningkatkan konfigurasi CAPTCHA-nya (misalnya, tantangan yang lebih sulit, fitur perusahaan), tingkat penyelesaian untuk sementara dapat menurun hingga pemecah CaptchaAI beradaptasi.

Apakah saya harus melaporkan setiap ERROR_CAPTCHA_UNSOLVABLE?

Tidak. Tingkat tidak terpecahkan sebesar 2–5% adalah normal untuk CAPTCHA kompleks. Laporkan hanya jika angkanya melebihi 15–20% secara konsisten.

Seberapa cepat saya mengharapkan tingkat penyelesaian pulih?

Jika masalahnya ada di pihak CaptchaAI, pemulihan biasanya terjadi dalam beberapa jam. Jika situs target berubah, Anda mungkin perlu memperbarui parameter integrasi Anda.

Artikel Terkait

  • Tren Kinerja Solve CAPTCHA Time Series
  • Diagnosis Penurunan Tingkat Keberhasilan Solve CAPTCHA

Langkah Selanjutnya

Jaga pipeline CAPTCHA Anda tetap sehat — dapatkan kunci API CaptchaAI Anda.

Panduan terkait:

  • Referensi Kode Error CaptchaAI
  • Benchmarking Waktu Solve CAPTCHA
Komentar dinonaktifkan untuk artikel ini.