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/createTask→ocr.captchaai.com/in.php - [ ] Sonuç URL'sini değiştirin:
api.capmonster.cloud/getTaskResult→ocr.captchaai.com/res.php - [ ] Kimlik doğrulamayı değiştir:
clientKey→key - [ ] İstek formatını değiştir: JSON görev nesnesi → form kodlu parametreler
- [ ] Yanıt ayrıştırmayı güncelleyin:
taskId→request,solution.gRecaptchaResponse→request - [ ] Güncelleme hatası işleme:
CAPTCHA_NOT_READY→CAPCHA_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.