Entegrasyonlar

Retool + CaptchaAI: Dahili Araç CAPTCHA Form İşleme

Retool, ekiplerin dahili araçları hızlı bir şekilde oluşturmasına olanak tanır. Bu araçların CAPTCHA korumalı harici hizmetlerle (form gönderme, portallardan veri çekme veya üçüncü taraf iş akışlarını otomatikleştirme) etkileşime girmesi gerektiğindeCaptchaAIÇözümü Retool'un REST API sorguları aracılığıyla yönetir.

Bu kılavuz, CaptchaAI'yi Retool'da bir REST API kaynağı olarak nasıl ayarlayacağınızı, CAPTCHA çözümlerini göndermek ve almak için sorgular oluşturmayı ve bunları uygulamanızın kullanıcı arayüzüne nasıl bağlayacağınızı gösterir.

Gerçek Dünya Senaryosu

Operasyon ekibiniz, verileri reCAPTCHA v2 gerektiren bir devlet portalına göndermek için bir Retool uygulaması kullanıyor. CAPTCHA'ları manuel olarak çözmek yerine Retool uygulaması:

  1. Site anahtarını ve sayfa URL'sini giriş olarak alır
  2. CAPTCHA'yı CaptchaAI'ye gönderir
  3. Sonuç için anketler
  4. Form gönderiminde kullanılmak üzere çözülmüş belirteci görüntüler

Adım 1: CaptchaAI'yi REST API Kaynağı olarak oluşturun

Yeniden Araç'ta, Kaynaklar †' Yeni Oluştur †' REST API'ye gidin:

Alan Değer
İsim CaptchaAI
Temel URL https://ocr.captchaai.com
Kimlik doğrulama Yok (Sorgu parametresi olarak gönderilen API anahtarı)

Kaynağı kaydedin. Sorgularda buna referans vereceksiniz.

2. Adım: Gönderim Sorgusunu Oluşturun

submitCaptcha adında yeni bir sorgu oluşturun:

Ayar Değer
Kaynak CaptchaAI
Eylem Türü AL
URL Yolu /in.php

Sorgu Parametreleri:

Anahtar Değer
key {{secretsStore.CAPTCHAAI_API_KEY}}
method userrecaptcha
googlekey {{sitekeyInput.value}}
pageurl {{pageurlInput.value}}
json 1

Sabit kodlamayı önlemek için API anahtarınızı Retool'un Sırlar Deposu'nda (Ayarlar – Sırlar) saklayın.

Transformatör (isteğe bağlı):

// Parse the response
const data = {{ submitCaptcha.data }};
if (data.status === 1) {
  return { taskId: data.request, status: 'submitted' };
}
return { error: data.request, status: 'failed' };

3. Adım: Anket Sorgusunu Oluşturun

pollResult adlı bir sorgu oluşturun:

Ayar Değer
Kaynak CaptchaAI
Eylem Türü AL
URL Yolu /res.php

Sorgu Parametreleri:

Anahtar Değer
key {{secretsStore.CAPTCHAAI_API_KEY}}
action get
id {{submitCaptcha.data.request}}
json 1

Transformatör:

const data = {{ pollResult.data }};
if (data.status === 1) {
  return { token: data.request, status: 'solved' };
}
if (data.request === 'CAPCHA_NOT_READY') {
  return { status: 'pending' };
}
return { error: data.request, status: 'error' };

4. Adım: JavaScript ile Anket Döngüsünü Oluşturun

Gönderme ve anket döngüsünü düzenleyen solveCaptcha adında bir JavaScript sorgusu oluşturun:

// solveCaptcha — JavaScript Query
async function solve() {
  // Submit the CAPTCHA task
  await submitCaptcha.trigger();
  const submitResult = submitCaptcha.data;

  if (submitResult.status !== 1) {
    return { error: submitResult.request, status: 'submit_failed' };
  }

  const taskId = submitResult.request;

  // Wait 15 seconds before first poll
  await new Promise(r => setTimeout(r, 15000));

  // Poll up to 20 times (100 seconds max)
  for (let i = 0; i < 20; i++) {
    await pollResult.trigger({
      additionalScope: { taskId: taskId }
    });

    const result = pollResult.data;

    if (result.status === 1) {
      return { token: result.request, status: 'solved' };
    }

    if (result.request !== 'CAPCHA_NOT_READY') {
      return { error: result.request, status: 'error' };
    }

    // Wait 5 seconds before next poll
    await new Promise(r => setTimeout(r, 5000));
  }

  return { error: 'Polling timeout', status: 'timeout' };
}

return solve();

5. Adım: Kullanıcı arayüzünü oluşturun

Basit bir Retool uygulama düzeni oluşturun:

Giriş Bölümü

  • Metin Girişi (sitekeyInput): "reCAPTCHA Sitekey" etiketi
  • Metin Girişi (pageurlInput): "Sayfa URL'si" etiketi
  • Düğme (solveButton): "CAPTCHA'yı Çöz" etiketini tıklayın, onClick – solveCaptcha.trigger()

Durum Bölümü

  • Metin bileşeni: {{ solveCaptcha.isFetching ? "Solving..." : "" }}
  • Yükleme Göstergesi: {{ solveCaptcha.isFetching }} olduğunda görünür

Sonuç Bölümü

  • Metin Alanı (tokenOutput):
  • Değer: {{ solveCaptcha.data?.token || '' }}
  • Etiket: "Çözülmüş Jeton"
  • Salt okunur
  • Kopyala Düğmesi: Belirteci panoya kopyalar
  • Durum Rozeti: {{ solveCaptcha.data?.status }}'ye dayalı /error başarısını gösterir

Adım 6: Aşağı Yöndeki Sorgularda Belirteci Kullanın

Çözüldükten sonra jetonu, formu gönderen başka bir Yeniden Düzenleme sorgusunda kullanın:

submitForm adlı bir sorgu oluşturun:

Ayar Değer
Kaynak Hedef API'niz
Eylem Türü POST
Vücut g-recaptcha-response: {{solveCaptcha.data.token}} dahil form verileri

Bunu yalnızca {{ solveCaptcha.data?.status === 'solved' }} olduğunda etkinleştirilen "Formu Gönder" düğmesine bağlayın.

Sorun giderme

Sorun Sebep Düzeltme
ERROR_WRONG_USER_KEY API anahtarı Secrets Store'da değil veya yanlış değer Anahtarı Ayarlar – Gizliler bölümünde doğrulayın
Sorgu, JSON yerine ham metni döndürür json=1 parametresi eksik Sorgu parametrelerine json: 1 ekleyin
Yoklama zaman aşımı CAPTCHA tipinin çözüm süresi daha uzundur Yoklama yinelemelerini 20'den 30'a çıkarın
submitCaptcha.data tanımsız Sorgu henüz çalışmadı Gönderme sorgusunun anketten önce çalıştırıldığından emin olun
JavaScript sorgusu zaman aşımı JS sorguları için Yeniden Düzenleme'nin 120 saniyelik sınırı Yoklamayı 5 saniyelik aralıklarla 20 yinelemeye düşürün

SSS

CaptchaAI API anahtarını Retool'da güvenli bir şekilde saklayabilir miyim?

Evet. Retool'un Secrets Store'unu (Environment – ​​Secrets) kullanın ve {{secretsStore.CAPTCHAAI_API_KEY}} olarak referans verin. Bu, anahtarı uygulama oluşturucuların görebileceği sorgu tanımlarının dışında tutar.

Bu, Retool Cloud ve Kendi Kendine Barındırılan ile çalışır mı?

Evet, her iki sürüm de REST API kaynaklarını ve JavaScript sorgularını destekler. Kendi kendine barındırılan Retool ayrıca CaptchaAI'nin API'sini proxy gereksinimleri olmadan doğrudan vurabilir.

Retool'da yeniden kullanılabilir bir CAPTCHA çözme modülü oluşturabilir miyim?

Evet. submit/poll sorguları ve kullanıcı arayüzü bileşenleriyle bir Yeniden Düzenleme Modülü oluşturun ve ardından bunu CAPTCHA çözümü gerektiren herhangi bir uygulamaya yerleştirin.

Retool aracılığıyla hangi CAPTCHA türlerini çözebilirim?

Herhangi bir CaptchaAI türü destekler - reCAPTCHA v2/v3, Cloudflare Turnstile, Resim CAPTCHA'ları. Gönderim sorgusundaki method'yi ve parametreleri buna göre ayarlayın.

İlgili Makaleler

Sonraki Adımlar

CAPTCHA çözümünü Retool'un dahili araçlarına ekleyin —CaptchaAI API anahtarınızı alınve REST API kaynağını ayarlayın.

İlgili kılavuzlar:

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