AZCaptcha ve CaptchaAI'nin her ikisi de 2Captcha uyumlu bir API formatı kullanıyor ve bu da geçişi kolaylaştırıyor. Çoğunlukla temel URL'yi ve API anahtarını değiştireceksiniz; istek biçimi aynı kalacak.
Uç Nokta Eşlemesi
| Eylem | AZCaptcha | CaptchaAI |
|---|---|---|
| Görevi gönder | https://azcaptcha.com/in.php |
https://ocr.captchaai.com/in.php |
| Sonuç al | https://azcaptcha.com/res.php |
https://ocr.captchaai.com/res.php |
| Bakiyeyi kontrol et | res.php?action=getbalance |
res.php?action=getbalance |
| Yanlış bildir | res.php?action=reportbad |
res.php?action=reportbad |
Parametre Uyumluluğu
Çoğu parametre aynıdır. Temel farklar:
| Parametre | AZCaptcha | CaptchaAI | Notlar |
|---|---|---|---|
key |
API anahtarı | API anahtarı | Farklı anahtar — sizinkini captchaai.com adresinden alın |
method |
userrecaptcha |
userrecaptcha |
Aynı |
googlekey |
Site anahtarı | Site anahtarı | Aynı |
pageurl |
Sayfa URL'si | Sayfa URL'si | Aynı |
json |
1 |
1 |
Aynı |
proxy |
user:pass@host:port |
user:pass@host:port |
Aynı format |
proxytype |
HTTP/SOCKS5 |
HTTP/SOCKS5 |
Aynı |
Geçiş Adımları
1. Adım: CaptchaAI API Anahtarını Alın
- Kayıt olcaptchaai.com
- Hesabınıza para ekleyin
- API anahtarınızı kontrol panelinden kopyalayın
2. Adım: Kodunuzu Güncelleyin
Python — Önce (AZCaptcha)
import requests
API_KEY = "your_azcaptcha_key"
def solve_recaptcha(sitekey, pageurl):
# Submit
resp = requests.post("https://azcaptcha.com/in.php", data={
"key": API_KEY,
"method": "userrecaptcha",
"googlekey": sitekey,
"pageurl": pageurl,
"json": 1
})
data = resp.json()
if data["status"] != 1:
return {"error": data["request"]}
captcha_id = data["request"]
# Poll
import time
for _ in range(60):
time.sleep(5)
result = requests.get("https://azcaptcha.com/res.php", params={
"key": API_KEY, "action": "get", "id": captcha_id, "json": 1
}).json()
if result["status"] == 1:
return {"solution": result["request"]}
if result["request"] != "CAPCHA_NOT_READY":
return {"error": result["request"]}
return {"error": "TIMEOUT"}
Python — Sonra (CaptchaAI)
import os
import time
import requests
API_KEY = os.environ["CAPTCHAAI_API_KEY"] # Changed: use env var
def solve_recaptcha(sitekey, pageurl):
# Submit — only URL changed
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": API_KEY,
"method": "userrecaptcha",
"googlekey": sitekey,
"pageurl": pageurl,
"json": 1
})
data = resp.json()
if data.get("status") != 1:
return {"error": data.get("request")}
captcha_id = data["request"]
# Poll — only URL changed
for _ in range(60):
time.sleep(5)
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": API_KEY, "action": "get", "id": captcha_id, "json": 1
}).json()
if result.get("status") == 1:
return {"solution": result["request"]}
if result.get("request") != "CAPCHA_NOT_READY":
return {"error": result.get("request")}
return {"error": "TIMEOUT"}
JavaScript — Önce (AZCaptcha)
const axios = require("axios");
const API_KEY = "your_azcaptcha_key";
async function solveRecaptcha(sitekey, pageurl) {
const submit = await axios.post("https://azcaptcha.com/in.php", null, {
params: { key: API_KEY, method: "userrecaptcha", googlekey: sitekey, pageurl, json: 1 },
});
if (submit.data.status !== 1) return { error: submit.data.request };
const captchaId = submit.data.request;
for (let i = 0; i < 60; i++) {
await new Promise((r) => setTimeout(r, 5000));
const poll = await axios.get("https://azcaptcha.com/res.php", {
params: { key: API_KEY, action: "get", id: captchaId, json: 1 },
});
if (poll.data.status === 1) return { solution: poll.data.request };
if (poll.data.request !== "CAPCHA_NOT_READY") return { error: poll.data.request };
}
return { error: "TIMEOUT" };
}
JavaScript — Sonra (CaptchaAI)
const axios = require("axios");
const API_KEY = process.env.CAPTCHAAI_API_KEY; // Changed: env var
async function solveRecaptcha(sitekey, pageurl) {
// Only URLs changed
const submit = await axios.post("https://ocr.captchaai.com/in.php", null, {
params: { key: API_KEY, method: "userrecaptcha", googlekey: sitekey, pageurl, json: 1 },
});
if (submit.data.status !== 1) return { error: submit.data.request };
const captchaId = submit.data.request;
for (let i = 0; i < 60; i++) {
await new Promise((r) => setTimeout(r, 5000));
const poll = await axios.get("https://ocr.captchaai.com/res.php", {
params: { key: API_KEY, action: "get", id: captchaId, json: 1 },
});
if (poll.data.status === 1) return { solution: poll.data.request };
if (poll.data.request !== "CAPCHA_NOT_READY") return { error: poll.data.request };
}
return { error: "TIMEOUT" };
}
Adım 3: Sağlayıcıyı Özetleyin
Daha güvenli geçiş için sağlayıcıdan bağımsız bir sarmalayıcı oluşturun:
import os
import time
import requests
class CaptchaProvider:
def __init__(self, base_url, api_key):
self.submit_url = f"{base_url}/in.php"
self.result_url = f"{base_url}/res.php"
self.api_key = api_key
self.session = requests.Session()
def solve(self, sitekey, pageurl, method="userrecaptcha"):
resp = self.session.post(self.submit_url, data={
"key": self.api_key,
"method": method,
"googlekey": sitekey,
"pageurl": pageurl,
"json": 1
})
data = resp.json()
if data.get("status") != 1:
return {"error": data.get("request")}
captcha_id = data["request"]
for _ in range(60):
time.sleep(5)
result = self.session.get(self.result_url, params={
"key": self.api_key, "action": "get",
"id": captcha_id, "json": 1
}).json()
if result.get("status") == 1:
return {"solution": result["request"]}
if result.get("request") != "CAPCHA_NOT_READY":
return {"error": result.get("request")}
return {"error": "TIMEOUT"}
# Switch by changing one line:
# provider = CaptchaProvider("https://azcaptcha.com", "old_key")
provider = CaptchaProvider(
"https://ocr.captchaai.com",
os.environ["CAPTCHAAI_API_KEY"]
)
Adım 4: Paralel Test
Karşılaştırmak için her iki sağlayıcıyı aynı anda çalıştırın:
def parallel_test(sitekey, pageurl, runs=10):
azcaptcha = CaptchaProvider("https://azcaptcha.com", "old_key")
captchaai = CaptchaProvider(
"https://ocr.captchaai.com",
os.environ["CAPTCHAAI_API_KEY"]
)
results = {"azcaptcha": [], "captchaai": []}
for i in range(runs):
start = time.time()
az_result = azcaptcha.solve(sitekey, pageurl)
results["azcaptcha"].append({
"success": "solution" in az_result,
"time": time.time() - start
})
start = time.time()
cai_result = captchaai.solve(sitekey, pageurl)
results["captchaai"].append({
"success": "solution" in cai_result,
"time": time.time() - start
})
for provider, data in results.items():
successes = sum(1 for r in data if r["success"])
avg_time = sum(r["time"] for r in data) / len(data)
print(f"{provider}: {successes}/{runs} success, {avg_time:.1f}s avg")
Geçiş Kontrol Listesi
| Adım | Durum |
|---|---|
| CaptchaAI hesabı oluşturun ve para yatırın | ☐ |
| Tüm dosyalarda temel URL'yi değiştirin | ☐ |
| API anahtarını güncelleyin (env var kullanın) | ☐ |
| Paralel testi çalıştırın (10'dan fazla çözüm) | ☐ |
| Başarı oranlarını karşılaştırın | ☐ |
| Çözüm sürelerini karşılaştırın | ☐ |
| Yeni uç noktalar için izleme/alerting'yi güncelleyin | ☐ |
| Üretim trafiğini değiştir | ☐ |
| 24 saat boyunca izleyin | ☐ |
| AZCaptcha anahtarının kullanımdan kaldırılması | ☐ |
Sorun giderme
| Sorun | Sebep | Düzeltme |
|---|---|---|
ERROR_KEY_DOES_NOT_EXIST |
Yanlış API anahtarı | CaptchaAI API anahtarını kontrol panelinden doğrulayın |
ERROR_ZERO_BALANCE |
Yeni hesapta para yok | Captchaai.com'da para ekleyin |
| Farklı hata kodları | Küçük hata kodu farklılıkları | Harita hata kodları; çoğu aynı |
| Çözme oranı farklıdır | Farklı çözücü havuzları | İstatistiksel olarak geçerli karşılaştırma için 50'den fazla test çözümü çalıştırın |
SSS
CaptchaAI, AZCaptcha'nın yerine geçebilecek bir alternatif midir?
Neredeyse. Her ikisi de 2Captcha uyumlu API formatını kullanır. Temel URL'yi ve API anahtarını değiştirin; parametreler ve yanıt biçimi aynıdır.
Mevcut proxy yapılandırmam çalışacak mı?
Evet. CaptchaAI aynı proxy ve proxytype parametrelerini kullanır. Proxy tabanlı çözümleme için hiçbir değişikliğe gerek yoktur.
Göç ne kadar sürer?
Tek bir kod tabanı için 15–30 dakika. Bunların çoğu, temel URL'yi ara ve değiştir yöntemiyle güncellemenin yanı sıra doğrulamak için paralel bir test çalıştırmaktır.
Sonraki Adımlar
Daha hızlı, daha güvenilir CAPTCHA çözümüne geçin —CaptchaAI API anahtarınızı alınve birkaç dakika içinde taşıyın.
İlgili kılavuzlar: