Anti-Captcha adalah pendatang awal di pasar penyelesaian CAPTCHA. Ia menawarkan API JSON khusus dan cakupan jenis CAPTCHA yang luas. Namun pengembang menghadapi keterbatasan karena situs mengadopsi metode perlindungan yang lebih baru — tumpukan penuh Cloudflare, BLS CAPTCHA, dan alur kerja reCAPTCHA v3 yang kritis terhadap skor.
Inilah alasan tim pindah ke CaptchaAI.
Poin Inti Masalah
1. Cakupan Cloudflare Challenge
Anti-Captcha mendukung token Turnstile tetapi tidak menangani halaman Cloudflare Challenge penuh atau tantangan JS:
| Jenis Cloudflare | Anti-Captcha | CaptchaAI |
|---|---|---|
| Turnstile (dikelola) | ✅ | ✅ 100% |
| Turnstile (invisible) | Sebagian | ✅ |
| Cloudflare Challenge | ❌ | ✅ |
| Tantangan JS | ❌ | ✅ |
Banyak target Scraping sekarang menggunakan halaman Cloudflare Challenge (bukan hanya widget Turnstile). Pengguna anti-Captcha diblokir; Pengguna CaptchaAI tidak.
2. Perbedaan Pendekatan API
Anti-Captcha menggunakan API berbasis tugas JSON khusus. CaptchaAI menggunakan format kompatibel 2Captcha yang diadopsi secara luas:
# Anti-Captcha — custom JSON format
import requests
resp = requests.post("https://api.anti-captcha.com/createTask", json={
"clientKey": "ANTICAPTCHA_KEY",
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": "https://example.com",
"websiteKey": "SITE_KEY",
}
})
task_id = resp.json()["taskId"]
# Poll with different endpoint and format
result = requests.post("https://api.anti-captcha.com/getTaskResult", json={
"clientKey": "ANTICAPTCHA_KEY",
"taskId": task_id,
})
# CaptchaAI — standard 2Captcha-compatible format
import requests
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
"json": 1,
})
task_id = resp.json()["request"]
# Standard polling
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": "YOUR_API_KEY",
"action": "get",
"id": task_id,
"json": 1,
})
Format 2Captcha didukung oleh ratusan alat, perpustakaan, dan kerangka kerja. Migrasi ke CaptchaAI memerlukan sedikit perubahan kode untuk tim yang sudah menggunakan wrapper yang kompatibel dengan 2Captcha.
3. Dukungan BLS CAPTCHA
Otomatisasi portal pemerintah, sistem penunjukan visa, dan pengumpulan data tenaga kerja memerlukan penyelesaian BLS CAPTCHA:
# CaptchaAI — BLS at 100% accuracy
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "bls",
"pageurl": "https://bls-portal.example.com",
"sitekey": "BLS_SITE_KEY",
"json": 1,
})
Anti-Captcha tidak memiliki metode BLS. Tim yang memerlukan akses portal pemerintah harus beralih.
4. Kualitas Skor reCAPTCHA v3
| Penyedia | Rata-rata Skor v3 | Kontrol Skor |
|---|---|---|
| Anti-Captcha | 0,3-0,5 | Terbatas |
Skor v3 yang rendah memicu deteksi bot. Pendekatan Anti-Captcha yang dibantu manusia menghasilkan skor yang bervariasi. Mesin AI CaptchaAI menghasilkan skor tinggi secara konsisten.
5. Akurasi GeeTest
| Versi GeeTest | Anti-Captcha | CaptchaAI |
|---|---|---|
| GeeTest v3 | 85-90% | 100% |
| GeeTest v4 | 80-85% | tinggi (indikatif) |
Perbandingan Fitur
| Fitur | Anti-Captcha | CaptchaAI |
|---|---|---|
| reCAPTCHA v2 | ✅ | ✅ |
| reCAPTCHA v3 | ✅ (skor rendah) | ✅ Kontrol skor |
| reCAPTCHA Perusahaan | ✅ | ✅ |
| reCAPTCHA invisible | ✅ | ✅ |
| Turnstile | ✅ | ✅ 100% |
| Cloudflare Challenge | ❌ | ✅ |
| GeeTest v3 | ✅ | ✅ 100% |
| BL | ❌ | ✅ 100% |
| Gambar/OCR | ✅ | ✅ 27.500+ jenis |
| format API | JSON khusus | 2Kompatibel dengan Captcha |
| Dukungan proksi | ✅ | ✅ |
| callback | ✅ | ✅ |
Perbandingan Kecepatan
| Jenis CAPTCHA | Anti-Captcha | CaptchaAI |
|---|---|---|
| reCAPTCHA v2 | 15-45 detik | 10-20 detik |
| reCAPTCHA v3 | 10-30 detik | 5-15 detik |
| Gambar CAPTCHA | 5-15 detik | 2-5 detik |
| Turnstile | 10-30 detik | 3-10 detik |
| GeeTest v3 | 15-40an | 5-15 detik |
Jalur Migrasi
Format API berbeda, jadi migrasi memerlukan pembaruan penanganan request/response Anda. Berikut ini wrapper yang mendukung keduanya selama transisi:
import requests
import time
class CaptchaSolver:
"""Unified solver — supports Anti-Captcha and CaptchaAI."""
def __init__(self, provider="captchaai", api_key="YOUR_API_KEY"):
self.provider = provider
self.api_key = api_key
def solve_recaptcha_v2(self, sitekey, pageurl):
if self.provider == "captchaai":
return self._solve_captchaai("userrecaptcha", sitekey, pageurl)
else:
return self._solve_anticaptcha(sitekey, pageurl)
def _solve_captchaai(self, method, sitekey, pageurl):
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": self.api_key,
"method": method,
"googlekey": sitekey,
"pageurl": pageurl,
"json": 1,
})
task_id = resp.json()["request"]
for _ in range(60):
time.sleep(5)
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": self.api_key, "action": "get",
"id": task_id, "json": 1,
})
data = result.json()
if data["request"] != "CAPCHA_NOT_READY":
return data["request"]
raise TimeoutError("Solve timeout")
def _solve_anticaptcha(self, sitekey, pageurl):
resp = requests.post("https://api.anti-captcha.com/createTask", json={
"clientKey": self.api_key,
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": pageurl,
"websiteKey": sitekey,
},
})
task_id = resp.json()["taskId"]
for _ in range(60):
time.sleep(5)
result = requests.post(
"https://api.anti-captcha.com/getTaskResult",
json={"clientKey": self.api_key, "taskId": task_id},
)
data = result.json()
if data["status"] == "ready":
return data["solution"]["gRecaptchaResponse"]
raise TimeoutError("Solve timeout")
Gunakan provider="captchaai" untuk proyek baru. Migrasikan proyek yang ada dengan mengubah parameter konstruktor.
Pemecahan masalah
| Masalah | Sebab | Perbaiki |
|---|---|---|
| Format API yang berbeda | Anti-Captcha menggunakan tugas JSON | Perbarui format permintaan sesuai contoh di atas |
Bidang method tidak ada |
Anti-Captcha menggunakan type dalam tugasnya |
Beralih ke method=userrecaptcha untuk CaptchaAI |
| Format pemungutan suara salah | endpoint hasil berbeda | Gunakan GET ke /res.php dengan action=get |
| Jenis tugas tidak ditemukan | Nama tugas Anti-Captcha berbeda-beda | Gunakan nama metode CaptchaAI: userrecaptcha, turnstile, bls |
Pertanyaan Umum
Apakah migrasi sulit karena format API berbeda?
Format API berbeda tetapi mudah. Logika inti (kirim polling → → dapatkan hasil) adalah sama. Sebagian besar migrasi memerlukan waktu 15-30 menit untuk mengubah kode.
Bisakah saya menggunakan perpustakaan pembungkus Anti-Captcha dengan CaptchaAI?
Tidak secara langsung — format API berbeda. Namun, CaptchaAI kompatibel dengan pustaka pembungkus 2Captcha mana pun, yang tersedia lebih luas.
Apakah CaptchaAI mendukung penerusan proxy Anti-Captcha?
Ya. CaptchaAI mendukung parameter proxy (proxy, proxytype) dalam format permintaan standar.
Panduan Terkait
Tingkatkan penyelesaian CAPTCHA Anda —coba CaptchaAI gratisdengan dukungan Cloudflare dan BLS yang lebih baik.