Başlangıç

CapMonster Cloud'dan CaptchaAI'ye geçiş

CaptchaAI, CapMonster Cloud'dan geçişi kolaylaştıran uyumlu bir API formatı kullanır. Çoğu taşıma işlemi yalnızca temel URL'nin ve API anahtarının değiştirilmesini gerektirir. Bu kılavuz tam adımları kapsar.


Neler değişir?

Bileşen CapMonster Bulutu CaptchaAI
URL'yi gönder 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
API biçimi JSON gövdesi Form kodlu (veya JSON)
Görev kimliği alanı taskId request (yanıt olarak)
Sonuç alanı solution nesnesi request (belirteç dizisi)

Hızlı geçiş: İki satırı değiştirin

Kodunuz bir sarmalayıcı veya SDK kullanıyorsa en hızlı yol, temel URL'yi ve 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"

Tam geçiş: reCAPTCHA v2

CapMonster Cloud (önceden)

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 (sonra)

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

Parametre eşleme

reCAPTCHA v2

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

Cloudflare Turnstile

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

Resim CAPTCHA'sı

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

JavaScript geçişi

CapMonster Cloud (önceden)

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 (sonra)

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şleme

CapMonster Bulutu CaptchaAI eşdeğeri
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

Yazım farkına dikkat edin: CaptchaAI, CAPCHA_NOT_READY (T yok) kullanır.


Bakiye kontrolü

CapMonster Bulutu

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

Taşıma kontrol listesi

  • [ ] CaptchaAI API anahtarını şuradan alın:captchaai.com
  • [ ] Gönderme 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ştir: clientKeykey
  • [ ] İstek formatını değiştir: JSON görev nesnesi → form kodlu parametreler
  • [ ] Yanıt ayrıştırmayı güncelleyin: taskIdrequest, solution.gRecaptchaResponserequest
  • [ ] Güncelleme hatası işleme: CAPTCHA_NOT_READYCAPCHA_NOT_READY
  • [ ] Üretim trafiğini değiştirmeden önce tek çözümle test edin

SSS

CaptchaAI, CapMonster Cloud'un yerine geçecek bir ürün mü?

API formatı farklıdır (form kodlu ve JSON'a karşı), ancak kavramlar aynıdır. Taşıma işlemi genellikle 15-30 dakika sürer.

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

Evet. CapMonster Cloud'u yedek olarak tutarken trafiğin bir yüzdesini CaptchaAI'ye yönlendirin, ardından sonuçları doğruladıktan sonra tamamen geçiş yapın.


CaptchaAI'ye geçin ve birkaç dakika içinde çözmeye başlayın

API anahtarınızı şu adresten alın:captchaai.com.


İlgili kılavuzlar

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