Bu makalede tüm önemli sorulara cevap vermeye çalıştık. Bir problemi çözmeye başlamanın ilk adımı, hangi koruma sisteminin kullanıldığını belirlemektir. Bunun için, görsel örneklerin ve neyle karşı karşıya olduğunuzu hızlıca anlamanıza yardımcı olabilecek temel işaretlerin yer aldığı popüler captcha ve anti-bot koruma sistemleri listesine başvurabilirsiniz.
Sitenizde ImageToText kullanıldığını fark ederseniz, bir sonraki adım özelliklerini ve çalışma şeklini daha ayrıntılı incelemek olacaktır. Yine bu makalede, ImageToText sisteminin entegrasyonuna ilişkin kılavuzu da bulabilir ve böylece sitenizde nasıl çalıştığını tamamen anlayabilirsiniz. Bu da yalnızca mevcut korumayı anlamanıza değil, aynı zamanda bakımını doğru şekilde planlamanıza da yardımcı olur.
CapMonster Cloud API ile çalışma genellikle şu adımlardan oluşur:
type - ImageToTextTask
body - CAPTCHA dosyasının içeriği, base64 formatında. Değerin tek satır olarak, satır sonu olmadan gönderildiğinden emin olun;
capMonsterModule (isteğe bağlı) - Modül adı, örneğin “yandex”. Modül adını alternatif olarak iletme ve tüm mevcut modüllerin listesini buradan bulabilirsiniz;
Ayrıca diğer isteğe bağlı parametreleri belirleyebilirsiniz:
recognizingThreshold - CAPTCHA tanıma güven seviyesi, 0-100 arası değerler;
case - Büyük/küçük harf duyarlılığı. Olası değerler: true, false;
numeric - 1 — CAPTCHA sadece rakamlardan oluşuyorsa. Olası değerler: 0, 1;
math - false — varsayılan değer belirtilmemiş;
true — CAPTCHA bir matematiksel işlem gerektirir (örn. 2 + 6 CAPTCHA sonucu 8 döner).
Önemli: captcha_math modülü için math: true parametresini kullanmayın.
https://api.capmonster.cloud/createTask{
"clientKey":"API_KEY",
"task": {
"type":"ImageToTextTask",
"body":"BASE64_BODY_HERE!"
}
}
{
"errorId":0,
"taskId":407533072
}https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId":0,
"status":"ready",
"solution": {
"text":"answer"
}
}
// npm install playwright @zennolab_com/capmonstercloud-client
// npx playwright install chromium
import { CapMonsterCloudClientFactory, ClientOptions, ImageToTextRequest, CapMonsterModules } from '@zennolab_com/capmonstercloud-client';
import { chromium } from 'playwright';
const API_KEY = "YOUR_API_KEY"; // CapMonster Cloud API anahtarınızı girin
async function solveImageToTextAndFillField() {
const cmcClient = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
// Gerekirse bakiyeyi kontrol edin
const balance = await cmcClient.getBalance();
console.log("Balance:", balance);
// 1. Playwright’i başlatın ve form sayfasını açın
const browser = await chromium.launch({ headless: false });
const context = await browser.newContext();
const page = await context.newPage();
await page.goto("https://example.com/form"); // 2. Sayfadaki CAPTCHA URL’sini alın (örn. <img> seçici ile)
// 2. Sayfadaki CAPTCHA URL’sini alın (örn. <img> seçici ile)
const captchaUrl = await page.getAttribute("#captcha-img", "src");
// 3. Görüntüyü indirin ve Base64’e çevirin
const response = await fetch(captchaUrl);
const imageBuffer = await response.arrayBuffer();
const imageBase64 = Buffer.from(imageBuffer).toString('base64');
// 4. ImageToText çözümü için isteği oluşturun
const imageToTextRequest = new ImageToTextRequest({
body: imageBase64,
CapMonsterModule: CapMonsterModules.YandexWave, // veya başka bir modül
Case: true,
numeric: 0,
recognizingThreshold: 65,
math: false
});
// 5. CAPTCHA çözümünü alın
const result = await cmcClient.Solve(imageToTextRequest);
console.log("Captcha solution:", result.solution.text);
// 6. Çözümü forma yerleştirin ve gönderin
await page.fill("#captcha-input", result.solution.text); // Kendi seçicinizi buraya yazın
await page.click("#submit-button"); // Kendi buton seçicinizi buraya yazın
await page.waitForLoadState("networkidle");
console.log("CAPTCHA çözümü ile form gönderildi");
// 7. Tarayıcıyı kapatın
await browser.close();
}
solveImageToTextAndFillField().catch(console.error);
Adım 1. Bir yaklaşım seçin
Önce CAPTCHA’yı nasıl kullanacağınızı belirleyin:
Seçenek 1 — Dış sağlayıcı
Hızlı uygulama ve minimum destek gerekiyorsa uygundur.
Avantajları:
Dezavantajları:
Seçenek 2 — Özelleştirilmiş Metin CAPTCHA
Tam kontrol ve kendi entegrasyonu istiyorsanız uygundur.
Avantajları:
Dezavantajları:
Adım 2. CAPTCHA üretimini gerçekleştirin
Dış sağlayıcı için
Özelleştirilmiş CAPTCHA için
Adım 3. CAPTCHA’yı kullanıcıya gösterin
Önemli: Her yüklemede yeni bir kod oluşturulmalıdır.
Adım 4. Verileri sunucuya gönderin
Form gönderilirken gönderilecekler:
Özelleştirilmiş CAPTCHA’da kod yalnızca sunucuda tutulmalıdır, istemciye gönderilmez.
Adım 5. Sunucuda CAPTCHA’yı doğrulayın
Dış sağlayıcı
Özelleştirilmiş CAPTCHA
Adım 6. Karar verin
Adım 7. Koruma önlemlerini güçlendirin (önerilir)
Metin CAPTCHA için bile ek önlemler önerilir:
Şunlardan emin olun:
Siteye önceden kurulmuş CAPTCHA veya başka bir koruma sistemi varsa ve koda erişiminiz yoksa — endişelenmeyin! Kullanılan teknolojiyi belirlemek oldukça kolaydır. İşlevselliği test etmek için CapMonster Cloud servisini izole bir test ortamında kullanarak token işleme ve doğrulama mantığının doğru çalıştığından emin olabilirsiniz.
Görüntü CAPTCHA’sı için sistemin ne olduğunu belirlemek, davranışını incelemek ve korumanın düzgün çalıştığını doğrulamak yeterlidir. Bu makalede, görüntü CAPTCHA’sını (ComplexImage) nasıl tanıyacağınızı ve nasıl bağlayıp yeniden yapılandıracağınızı gösterdik, böylece korumayı güvenli ve kontrollü şekilde sürdürebilirsiniz.