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ı:
- Site anahtarını ve sayfa URL'sini giriş olarak alır
- CAPTCHA'yı CaptchaAI'ye gönderir
- Sonuç için anketler
- 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
- Api Kullanarak Recaptcha V2 Geri Arama Sorunu Nasıl Çözülür?
- Recaptcha V2 Turnstilesi Aynı Sahada İşleme
- Recaptcha V2 Geri Arama Mekanizması
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: