Prezzi della soluzione CAPTCHA testuale (ImageToText)
| CAPTCHA | Prezzo (USD) |
|---|---|
$ 0.30 1000 gettoni |
In questo articolo abbiamo cercato di rispondere a tutte le domande principali. Il primo passo per risolvere il problema è capire quale sistema di protezione viene utilizzato. A questo scopo puoi consultare l’elenco dei captcha e dei sistemi di protezione antibot più diffusi, dove trovi esempi visivi e caratteristiche chiave che ti aiutano a identificare rapidamente con cosa hai a che fare.
Se scopri che sul tuo sito viene utilizzato CAPTCHA testuale (ImageToText), il passo successivo è analizzarne più nel dettaglio le proprietà e il funzionamento. In questo stesso articolo puoi anche studiare la guida all’integrazione di CAPTCHA testuale (ImageToText), per comprendere a fondo come opera sul tuo sito. Questo ti permetterà non solo di capire la protezione attuale, ma anche di pianificarne correttamente la manutenzione.
Come risolvere ImageToText CAPTCHA tramite CapMonster Cloud
- Apri la pagina con il modulo e assicurati che il captcha sia visualizzato.
- Prova a inviare il modulo senza risolvere il captcha — il server dovrebbe restituire un errore.
- Dopo una risoluzione corretta del captcha, il modulo dovrebbe essere inviato senza errori.
Lavorare con CapMonster Cloud via API di solito prevede i seguenti passaggi:
type - ImageToTextTask
body - contenuto del file del captcha codificato in base64. Assicurati che il valore venga inviato su una sola riga, senza interruzioni;
capMonsterModule (opzionale) - nome del modulo, ad esempio “yandex“. Un altro modo per fornire il nome del modulo e l’elenco di tutti i moduli disponibili è disponibile qui;
Puoi anche impostare altri parametri opzionali:
recognizingThreshold - soglia di riconoscimento del captcha con valori possibili da 0 a 100;
case - considerare il maiuscolo/minuscolo nella risoluzione oppure no. Valori possibili: true, false;
numeric - 1 — se il captcha contiene solo numeri. Valori possibili: 0, 1;
math - false — non impostato per default;
true — il captcha richiede un’operazione matematica (ad esempio, captcha 2 + 6 restituirà 8).
Importante: per il modulo captcha_math non usare il parametro math: true.
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"; // Inserisci la tua chiave API di CapMonster Cloud
async function solveImageToTextAndFillField() {
const cmcClient = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
// Puoi anche controllare il saldo
const balance = await cmcClient.getBalance();
console.log("Balance:", balance);
// 1. Avvia Playwright e apri la pagina con il modulo
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. Ottieni l’URL del captcha dalla pagina (esempio tramite selettore <img>)
// 2. Ottieni l’URL del captcha dalla pagina (esempio tramite selettore <img>)
const captchaUrl = await page.getAttribute("#captcha-img", "src");
// 3. Scarica l’immagine e converti in Base64
const response = await fetch(captchaUrl);
const imageBuffer = await response.arrayBuffer();
const imageBase64 = Buffer.from(imageBuffer).toString('base64');
// 4. Crea una richiesta per risolvere ImageToText
const imageToTextRequest = new ImageToTextRequest({
body: imageBase64,
CapMonsterModule: CapMonsterModules.YandexWave, // o un altro modulo
Case: true,
numeric: 0,
recognizingThreshold: 65,
math: false
});
// 5. Ottieni la soluzione del captcha
const result = await cmcClient.Solve(imageToTextRequest);
console.log("Captcha solution:", result.solution.text);
// 6. Inserisci la soluzione nel campo del modulo e invia
await page.fill("#captcha-input", result.solution.text); // Sostituire con il tuo selettore
await page.click("#submit-button"); // Sostituire con il selettore del tuo pulsante
await page.waitForLoadState("networkidle");
console.log("Modulo inviato con soluzione del captcha");
// 7. Chiudi il browser
await browser.close();
}
solveImageToTextAndFillField().catch(console.error);
Passo 1. Scegli l’approccio
Per prima cosa devi decidere come utilizzare il captcha:
Opzione 1 — Fornitore esterno
Adatto se serve una rapida integrazione e minima manutenzione.
Vantaggi:
- Integrazione rapida
- Protezione dai bot pronta
- Nessun aggiornamento manuale degli algoritmi necessario
Svantaggi:
- Dipendenza da un servizio esterno
- Personalizzazione limitata
Opzione 2 — CAPTCHA testuale personalizzato
Adatto se serve pieno controllo e integrazione su misura.
Vantaggi:
- Controllo totale sulla logica e sul design
- Nessuna dipendenza esterna
- Adattabile a scenari specifici
Svantaggi:
- Bisogna implementare la protezione dai bot da soli
- Richiede manutenzione e miglioramenti nel tempo
Passo 2. Implementa la generazione del captcha
Per un fornitore
- Registrati al servizio
- Ottieni le chiavi (site key / secret key)
- Integra lo script nella pagina con il modulo
Per captcha personalizzato
- Genera una stringa casuale (numeri o lettere)
- Visualizzala su un’immagine (Canvas, SVG o generazione lato server)
- Aggiungi distorsioni: rumore, linee, rotazione dei caratteri
Passo 3. Mostra il captcha all’utente
- Posiziona l’immagine del captcha accanto al modulo
- Aggiungi un campo di inserimento testo
- Implementa un pulsante di aggiornamento del captcha
Importante: ogni caricamento deve generare un nuovo codice.
Passo 4. Trasmetti i dati al server
Al momento dell’invio del modulo, invia:
- Il testo inserito dall’utente
- ID captcha o token di sessione
Per captcha personalizzato, il codice non deve essere memorizzato sul client — solo sul server.
Passo 5. Verifica il captcha sul server
Fornitore
- Invia il token del captcha al server del fornitore
- Ricevi il risultato della verifica (successo / errore)
Captcha personalizzato
- Confronta il testo inserito con il valore salvato
- Considera la durata di validità del captcha (es. 1–2 minuti)
Passo 6. Prendi una decisione
- Se il captcha è superato — esegui l’azione (login, registrazione, invio modulo)
- Altrimenti — mostra un errore e genera un nuovo captcha
Passo 7. Rafforza la protezione (consigliato)
Anche per un captcha testuale è consigliabile aggiungere:
- Limitazione del numero di tentativi
- Associazione a IP, sessione o cookie
- Token temporanei (monouso)
- Registrazione delle azioni sospette
Assicurati che:
- Il captcha non venga rigenerato prima della verifica;
- Il codice sia memorizzato separatamente per ogni sessione o token;
- Il captcha non sia scaduto.
Captcha supportati
Se hai un sito con captcha già installato o un altro sistema di protezione e non hai accesso al codice — nessun problema! È abbastanza semplice determinare quale tecnologia viene utilizzata. Per verificare il corretto funzionamento, puoi usare il servizio di riconoscimento CapMonster Cloud in un ambiente di test isolato per assicurarti che il trattamento dei token e la logica di verifica funzionino correttamente.
Per un captcha basato su immagini, basta identificare il sistema, studiarne il comportamento e assicurarsi che la protezione funzioni correttamente. In questo articolo abbiamo mostrato come identificare un captcha basato su immagini (ComplexImage) e come collegarlo o riconfiguralo per mantenere e controllare la protezione con sicurezza.