Getting Started

CapMonster Cloud'dan CaptchaAI'ye geçiş

Çalışan bir CapMonster Cloud entegrasyonunuz var ve onu baştan yazmak istemiyorsunuz — geçişin büyük kısmı da bunu gerektirmez. Sorgulama döngünüz, yeniden deneme mantığınız ve iş akışınız aynı kalır; değişen şey esasen iki satırdır: temel URL ve API anahtarı parametresi. Bu rehber, reCAPTCHA v2, Cloudflare Turnstile ve görüntü/OCR CAPTCHA türleri için tam eşlemeyi, çalışan kod örnekleriyle birlikte verir.


Neden CaptchaAI'ye geçiş yapılır?

CaptchaAI, 2Captcha uyumlu in.php / res.php uç noktalarını kullanır. CapMonster Cloud'un JSON tabanlı createTask / getTaskResult akışına alışkınsanız kavramlar birebir örtüşür; yalnızca istek biçimi ve alan adları farklıdır.

İki pratik motivasyon öne çıkar:

  • Öngörülebilir USD maliyeti. CaptchaAI, çözüm başına değil, eşzamanlı thread başına faturalandırır. TL kur oynaklığıyla uğraşan Türkiye'deki ekipler için aylık sabit USD fiyatı planlama açısından bir avantajdır: BASIC ($15/ay, 5 thread) ile başlar, hacim büyüdükçe ADVANCE ($90/ay, 50 thread) gibi üst kademelere geçilir. Her planda thread başına çözüm sayısı sınırsızdır.
  • Desteklenen türler. CaptchaAI; reCAPTCHA v2/v3, Cloudflare Turnstile ve Cloudflare doğrulama akışı, GeeTest v3, görüntü/OCR, grid ve BLS CAPTCHA türlerini çözer. hCaptcha ve FunCaptcha (Arkose Labs) desteklenmez — bu türleri taşıyorsanız geçiş öncesinde trafiğinizi gözden geçirin. CaptchaFox, Friendly Captcha ve Lemin ise (beta) aşamasındadır.

Ne değişiyor?

Geçişte dokunacağınız alanların tamamı şu tabloda:

Bileşen CapMonster Cloud CaptchaAI
Gönderim URL'si https://api.capmonster.cloud/createTask https://ocr.captchaai.com/in.php
Sonuç URL'si https://api.capmonster.cloud/getTaskResult https://ocr.captchaai.com/res.php
API anahtarı parametresi clientKey key
İstek biçimi JSON gövdesi Form kodlu (veya JSON)
Görev kimliği alanı taskId request (yanıt içinde)
Sonuç alanı solution nesnesi request (token dizesi)

30 saniyelik geçiş: iki satırı değiştirin

Kodunuz bir sarmalayıcı ya da SDK üzerinden çalışıyorsa en pratik yol, temel URL ile anahtarı değiştirmektir:

# Before (CapMonster Cloud)
API_URL = "https://api.capmonster.cloud"
CLIENT_KEY = "your_capmonster_key"

# After (CaptchaAI)
SUBMIT_URL = "https://ocr.captchaai.com/in.php"
RESULT_URL = "https://ocr.captchaai.com/res.php"
API_KEY = "your_captchaai_key"

reCAPTCHA v2'nin tam geçişi

Aşağıda aynı işi yapan iki tam örnek var: önce mevcut CapMonster Cloud kodu, sonra CaptchaAI karşılığı. Sorgulama döngüsünün yapısı neredeyse birebir aynı; yalnızca alan adları ve yanıt ayrıştırması değişiyor.

CapMonster Cloud (önceki)

import requests
import time

resp = requests.post("https://api.capmonster.cloud/createTask", json={
    "clientKey": "CAPMONSTER_KEY",
    "task": {
        "type": "RecaptchaV2TaskProxyless",
        "websiteURL": "https://example.com",
        "websiteKey": "6Le-SITEKEY",
    }
}).json()
task_id = resp["taskId"]

while True:
    time.sleep(5)
    result = requests.post("https://api.capmonster.cloud/getTaskResult", json={
        "clientKey": "CAPMONSTER_KEY",
        "taskId": task_id,
    }).json()
    if result["status"] == "ready":
        token = result["solution"]["gRecaptchaResponse"]
        break

CaptchaAI (sonraki)

import requests
import time

resp = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "googlekey": "6Le-SITEKEY",
    "pageurl": "https://example.com",
    "json": "1",
}).json()
task_id = resp["request"]

while True:
    time.sleep(5)
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": "YOUR_API_KEY",
        "action": "get",
        "id": task_id,
        "json": "1",
    }).json()
    if result["status"] == 1:
        token = result["request"]
        break
    if result["request"] != "CAPCHA_NOT_READY":
        raise Exception(result["request"])

status == 1 olduğunda token yanıttaki request alanından gelir; gRecaptchaResponse gibi iç içe bir nesneyi ayrıştırmanıza gerek kalmaz.


Parametre eşlemesi

Görev tipini ve alan adlarını CaptchaAI karşılıklarıyla değiştirin. En çok kullanılan üç tür:

reCAPTCHA v2

CapMonster Cloud CaptchaAI
task.type: "RecaptchaV2TaskProxyless" method: "userrecaptcha"
task.websiteKey googlekey
task.websiteURL pageurl
task.isInvisible: true invisible: "1"

Cloudflare Turnstile

CapMonster Cloud CaptchaAI
task.type: "TurnstileTaskProxyless" method: "turnstile"
task.websiteKey sitekey
task.websiteURL pageurl

Turnstile'da görev tipi turnstile olur ve websiteKey, sitekey parametresine karşılık gelir; geri kalan akış reCAPTCHA v2 ile aynıdır.

Görüntü CAPTCHA'sı

CapMonster Cloud CaptchaAI
task.type: "ImageToTextTask" method: "base64"
task.body body

Node.js tarafında geçiş

Axios ile çalışıyorsanız değişiklik yine yüzeyseldir: JSON gövdesi yerine sorgu parametreleri gönderir, resp.data.taskId yerine resp.data.request okursunuz.

CapMonster Cloud (önceki)

const axios = require('axios');

const resp = await axios.post('https://api.capmonster.cloud/createTask', {
  clientKey: 'CAPMONSTER_KEY',
  task: {
    type: 'RecaptchaV2TaskProxyless',
    websiteURL: 'https://example.com',
    websiteKey: '6Le-SITEKEY',
  }
});
const taskId = resp.data.taskId;

CaptchaAI (sonraki)

const axios = require('axios');

const resp = await axios.post('https://ocr.captchaai.com/in.php', null, {
  params: {
    key: 'YOUR_API_KEY',
    method: 'userrecaptcha',
    googlekey: '6Le-SITEKEY',
    pageurl: 'https://example.com',
    json: 1,
  }
});
const taskId = resp.data.request;

Hata kodu eşlemesi

Hata isimlerinin çoğu birebir aynıdır; yalnızca birkaç ayrıntıya dikkat edin:

CapMonster Cloud CaptchaAI karşılığı
ERROR_KEY_DOES_NOT_EXIST ERROR_KEY_DOES_NOT_EXIST
ERROR_ZERO_BALANCE ERROR_ZERO_BALANCE
ERROR_RECAPTCHA_TIMEOUT ERROR_CAPTCHA_UNSOLVABLE
ERROR_NO_SLOT_AVAILABLE ERROR_NO_SLOT_AVAILABLE
CAPTCHA_NOT_READY CAPCHA_NOT_READY

En sık gözden kaçan nokta yazım farkıdır: CaptchaAI, CAPCHA_NOT_READY (ortada T yok) döndürür. "Hazır değil" durumunu bu değerle kontrol ettiğinizden emin olun.


Bakiye sorgulama

Bakiye çağrısı da ayrı bir uç nokta yerine res.php üzerinden action=getbalance ile yapılır:

CapMonster Cloud

resp = requests.post("https://api.capmonster.cloud/getBalance", json={
    "clientKey": "CAPMONSTER_KEY"
}).json()
balance = resp["balance"]

CaptchaAI

resp = requests.get("https://ocr.captchaai.com/res.php", params={
    "key": "YOUR_API_KEY",
    "action": "getbalance",
    "json": "1",
}).json()
balance = float(resp["request"])

Geçiş kontrol listesi

  • [ ] CaptchaAI API anahtarınızı captchaai.com üzerinden alın
  • [ ] Gönderim URL'sini değiştirin: api.capmonster.cloud/createTaskocr.captchaai.com/in.php
  • [ ] Sonuç URL'sini değiştirin: api.capmonster.cloud/getTaskResultocr.captchaai.com/res.php
  • [ ] Kimlik doğrulamayı değiştirin: clientKeykey
  • [ ] İstek biçimini değiştirin: JSON görev nesnesi → form kodlu parametreler
  • [ ] Yanıt ayrıştırmayı güncelleyin: taskIdrequest, solution.gRecaptchaResponserequest
  • [ ] Hata işlemeyi güncelleyin: CAPTCHA_NOT_READYCAPCHA_NOT_READY
  • [ ] Üretim trafiğini taşımadan önce tek bir çözümle test edin

Sık sorulan sorular

Mevcut kodumun ne kadarını değiştirmem gerekir?

Genelde çok azını. Temel URL, key parametresi, istek biçimi (JSON → form kodlu) ve yanıt ayrıştırması değişir. Sorgulama döngüsü ve yeniden deneme mantığı olduğu gibi kalır. Tipik bir geçiş 15–30 dakika sürer.

CaptchaAI hangi CAPTCHA türlerini destekliyor?

reCAPTCHA v2/v3, Cloudflare Turnstile ve doğrulama akışı, GeeTest v3, görüntü/OCR, grid ve BLS türlerini çözer. hCaptcha ve FunCaptcha desteklenmez; CaptchaFox, Friendly Captcha ve Lemin beta aşamasındadır.

Fiyatlandırma CapMonster Cloud'dan nasıl farklı?

CaptchaAI çözüm başına değil, eşzamanlı thread başına faturalandırır. Planlar BASIC ($15/ay, 5 thread) ile başlar ve her planda thread başına çözüm sınırsızdır — bu, yüksek hacimde maliyeti öngörülebilir kılar. Fiyatlar USD'dir.

Geçiş sırasında iki servisi aynı anda çalıştırabilir miyim?

Evet. Trafiğin bir bölümünü CaptchaAI'ye yönlendirip CapMonster Cloud'u yedek olarak tutabilir, sonuçları doğruladıktan sonra tamamen geçebilirsiniz.


CaptchaAI'ye geçin, birkaç dakikada çözmeye başlayın

API anahtarınızı captchaai.com üzerinden alın, temel URL'yi değiştirin ve ilk çözümünüzü test edin. Yeni bir kurulumdan başlıyorsanız aşağıdaki Hızlı Başlangıç rehberi tüm adımları anlatır.


İlgili kılavuzlar

Bu makale için yorumlar devre dışı bırakılmıştır.