Eğitimler

n8n + CaptchaAI: Kodsuz CAPTCHA Çözme İş Akışı

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:

  1. Kimlik Bilgileri – Kimlik Bilgisi Ekle – Başlık Kimlik Doğrulaması'na gidin
  2. İsim: CaptchaAI API Key
  3. 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.


İlgili kılavuzlar

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