n8n, yerel döngü desteğine sahip açık kaynaklı bir iş akışı otomasyon aracıdır ve CAPTCHA çözümü için Zapier'den daha esnektir. Bir gönderim oluşturabilir, anket oluşturabilir ve çözüm tamamlanana kadar otomatik olarak yeniden deneyen iş akışını kullanabilirsiniz.
İş akışına genel bakış
Manual Trigger / Cron
↓
HTTP Request: Submit CAPTCHA
↓
Wait: 10 seconds
↓
Loop: Poll until solved
├── HTTP Request: Get result
├── IF: status == 1? → Exit loop
└── Wait: 5 seconds → Loop again
↓
HTTP Request: Use token
Düğüm 1: CAPTCHA'yı gönderin
HTTP İsteği düğümü ekleyin:
| Ayar | Değer |
|---|---|
| Yöntem | POST |
| URL'si | https://ocr.captchaai.com/in.php |
| Gövde İçerik Türü | Form URL Encoded |
Vücut parametreleri:
| İsim | Değer |
|---|---|
key |
{{ $credentials.captchaaiApiKey }} veya anahtarınızı kodlayın |
method |
userrecaptcha |
googlekey |
6Le-SITEKEY |
pageurl |
https://example.com |
json |
1 |
Yanıt:
{
"status": 1,
"request": "71823456"
}
Düğüm 2: Bekle
Bekle düğümü ekleyin:
| Ayar | Değer |
|---|---|
| Bekleme Süresi | 10 |
| Birim | Seconds |
Bu, çözücüye ilk yoklamadan önce işleme başlaması için zaman verir.
Düğüm 3: Anket sonucu (döngü ile)
n8n, Döngü Öğeleri düğümü aracılığıyla veya IF düğümünün yanlış çıktısını önceki düğüme geri bağlayarak döngüleri destekler.
Seçenek A: Basit IF döngüsü
HTTP İsteği düğümü ekleyin (Anket):
| Ayar | Değer |
|---|---|
| Yöntem | GET |
| URL'si | https://ocr.captchaai.com/res.php |
| Sorgu Parametreleri | key, action=get, id={{ $json.request }}, json=1 |
Bir IF düğümüne bağlayın:
| Durum | Değer |
|---|---|
| Değer 1 | {{ $json.status }} |
| Operasyon | Equal |
| Değer 2 | 1 |
- Doğru çıktı → Sonraki eyleme geçin (belirteç kullanın)
- Yanlış çıktı → Bekle (5 saniye) → Anket düğümüne geri dön
Seçenek B: Kod düğümü
Daha fazla kontrol için Kod düğümü kullanın:
const apiKey = 'YOUR_API_KEY';
const taskId = $input.first().json.request;
for (let i = 0; i < 24; i++) {
await new Promise(r => setTimeout(r, 5000));
const resp = await fetch(
`https://ocr.captchaai.com/res.php?key=${apiKey}&action=get&id=${taskId}&json=1`
);
const data = await resp.json();
if (data.status === 1) {
return [{ json: { token: data.request, taskId } }];
}
if (data.request !== 'CAPCHA_NOT_READY') {
throw new Error(`CaptchaAI error: ${data.request}`);
}
}
throw new Error(`Task ${taskId} timed out`);
Düğüm 4: Belirteci kullanın
Formu çözülmüş belirteçle göndermek için başka bir HTTP İsteği düğümü ekleyin:
| Ayar | Değer |
|---|---|
| Yöntem | POST |
| URL'si | https://staging.example.com/submit |
| Gövde İçerik Türü | Form URL Encoded |
Gövde parametreleri form verilerinizin yanı sıra şunları içerir:
| İsim | Değer |
|---|---|
g-recaptcha-response |
{{ $json.token }} |
API anahtarını güvenli bir şekilde saklama
n8n'nin Kimlik Bilgileri sistemini kullanın:
- Kimlik Bilgileri – Kimlik Bilgisi Ekle – Başlık Kimlik Doğrulaması'na gidin
- İsim:
CaptchaAI API Key - Anahtarı güvenli bir şekilde saklayın
Veya ortam değişkenlerini kullanın:
# In your n8n environment
export CAPTCHAAI_API_KEY="your_key_here"
Düğümlerdeki referans: {{ $env.CAPTCHAAI_API_KEY }}
Resim CAPTCHA iş akışı
Resim CAPTCHA'ları için Gönder düğümünü ayarlayın:
| İsim | Değer |
|---|---|
method |
base64 |
body |
Base64 kodlu görüntü (önceki bir düğümden veya URL'den) |
Bir resim URL'sini n8n'de base64'e dönüştürmek için göndermeden önce bir Kod düğümü ekleyin:
const imageUrl = $input.first().json.imageUrl;
const resp = await fetch(imageUrl);
const buffer = Buffer.from(await resp.arrayBuffer());
const base64 = buffer.toString('base64');
return [{ json: { imageBase64: base64 } }];
Bakiye kontrolü iş akışı
Belirli bir zamanlamaya göre çalışan ayrı bir iş akışı oluşturun:
Cron (daily at 9 AM)
↓
HTTP Request: GET res.php?action=getbalance
↓
IF: balance < 5
↓
Slack / Email: "CaptchaAI balance low: $X.XX"
CAPTCHA çözümü için n8n vs Zapier
| Özellik | n8n | Zapier |
|---|---|---|
| Döngü/retry desteği | Yerel (IF döngüleri, Döngü düğümü) | Sınırlı (Yalnızca yollar) |
| Kendi kendine barındırılan seçenek | Evet (ücretsiz) | Hayır (yalnızca bulut) |
| Kod düğümleri | Tam JavaScript | Sınırlı |
| Maliyet | Ücretsiz (kendi kendine barındırılan) veya ücretli bulut | Ücretli (görev başına) |
| Kurulum kolaylığı | Orta | Kolay |
n8n, döngü desteği ve Kod düğümleri nedeniyle CAPTCHA iş akışları için daha iyidir.
Sorun giderme
| Sorun | Sebep | Düzeltme |
|---|---|---|
| Anket döngüsü sonsuza kadar çalışır | Maksimum yineleme sınırı yok | Bir sayaç değişkeni ekleyin, 24 yinelemeden sonra ara verin |
CAPCHA_NOT_READY kesintisiz |
İlk anketten önce bekleme süresi çok kısa | İlk bekleme süresini 15-20 saniyeye çıkarın |
| Jeton sonraki düğümde mevcut değil | Yanlış ifade yolu | {{ $json.token }}'nin çıktıyla eşleştiğini kontrol edin |
| Kimlik bilgileri bulunamadı | Ortam değişkeni ayarlanmadı | Env vars ayarını yaptıktan sonra n8n'yi yeniden başlatın |
SSS
Birden fazla CAPTCHA'yı tek bir iş akışında işleyebilir miyim?
Evet. Her biri kendi gönderim, anket ve kullanım akışına sahip birden fazla öğeyi işlemek için Gruplara Böl düğümünü kullanın.
N8n Turnstileyi destekliyor mu?
Evet. method'yi turnstile olarak değiştirin ve googlekey yerine sitekey kullanın.
CAPTCHA çözümünü n8n iş akışlarınıza ekleyin
API anahtarınızı şu adresten alın:captchaai.com.