Skip to main content
Questo documento introduce un’API di riconoscimento dei CAPTCHA alfanumerici, basata su tecnologie di deep learning, utilizzabile per riconoscere CAPTCHA alfanumerici di lunghezza variabile. Inserendo il contenuto dell’immagine del CAPTCHA, si ottiene il risultato del CAPTCHA.

Procedura di richiesta

Per utilizzare l’API di riconoscimento dei CAPTCHA alfanumerici, prima di tutto vai al Pannello di controllo di Ace Data Cloud per ottenere il tuo API Token, da conservare per uso futuro. Se non hai ancora effettuato il login o la registrazione, verrai automaticamente reindirizzato alla pagina di login che ti invita a registrarti e a effettuare il login; una volta completato, verrai riportato automaticamente alla pagina corrente. Un API Token è sufficiente per accedere a tutti i servizi della piattaforma, senza necessità di richiederne uno per ogni servizio. La prima richiesta ti darà un credito gratuito, per un’esperienza senza costi; se il credito è insufficiente, puoi ricaricare il saldo generale nel pannello di controllo.
📘 Documentazione completa: API di riconoscimento dei CAPTCHA alfanumerici →

Utilizzo di base

Iniziamo a comprendere il modo di utilizzo di base, che consiste nell’inserire l’immagine del CAPTCHA alfanumerico di lunghezza variabile da elaborare, per ottenere il risultato elaborato. È necessario semplicemente passare un campo image, che rappresenta l’immagine del CAPTCHA alfanumerico, come mostrato nell’immagine:

Dopo di che, dobbiamo convertire l’immagine del CAPTCHA in un’immagine codificata in Base64. Si consiglia di utilizzare l’estensione per Google Chrome FeHelper per la conversione; puoi fare riferimento all’immagine sottostante per le istruzioni specifiche:

Successivamente, puoi copiare il codice Base64 ottenuto dall’estensione FeHelper, ricordando che non deve includere il prefisso data:image/png;base64; il contenuto specifico è il seguente:

Possiamo vedere che qui abbiamo impostato le intestazioni della richiesta, che includono:
  • accept: il formato di risposta desiderato, qui impostato su application/json, ovvero formato JSON.
  • authorization: la chiave per chiamare l’API, che può essere selezionata direttamente dopo la richiesta.
Inoltre, abbiamo impostato il corpo della richiesta, che include:
  • image: l’immagine del CAPTCHA codificata in Base64 (senza il prefisso data:image/png;base64).
Dopo aver selezionato, puoi notare che a destra è stato generato il codice corrispondente, come mostrato nell’immagine:

Cliccando sul pulsante “Try” puoi effettuare un test, come mostrato nell’immagine sopra, e qui abbiamo ottenuto il seguente risultato:
Il risultato restituito contiene diversi campi, descritti di seguito:
  • text, il contenuto testuale elaborato dall’immagine del CAPTCHA alfanumerico di lunghezza variabile.
  • started_at, finished_at: il tempo di inizio e di completamento della richiesta, timestamp Unix (secondi, float).
  • elapsed: il tempo totale impiegato per l’elaborazione (secondi).
Possiamo vedere che abbiamo ottenuto il risultato della verifica dell’immagine del CAPTCHA alfanumerico di lunghezza variabile; dobbiamo semplicemente utilizzare il contenuto testuale nel campo text per superare la verifica. Inoltre, se desideri generare il codice di integrazione corrispondente, puoi copiarlo direttamente, ad esempio il codice CURL è il seguente:
Il codice di integrazione in Python è il seguente:

Modalità asincrona (async)

Per impostazione predefinita, l’API è sincrona e bloccante: una richiesta attenderà fino a quando il risultato del riconoscimento non sarà completato. Se stai effettuando un cambio di risolutori multipli (multi-solver rotation) e desideri “inviare il compito e ricevere immediatamente il task_id, per poi programmare altri risolutori e tornare in seguito a leggere il risultato”, puoi passare async: true nel corpo della richiesta. Passando async: true, l’interfaccia restituirà immediatamente un task_id, senza bloccare l’attesa:
Se desideri controllare attivamente il progresso, puoi utilizzare il task_id per interrogare POST /captcha/tasks (si consiglia ogni 3-5 secondi). Questa interfaccia non attiverà o accelererà l’elaborazione del compito; anche se non interroghi, perdi la connessione o esci dal client, il server continuerà a elaborare:
Durante l’elaborazione verrà restituito status: processing:
Una volta completata l’elaborazione, verrà restituito status: ready e il risultato del riconoscimento text (la struttura dei campi è completamente identica a quella della modalità sincrona):
Informazioni di fatturazione: nella modalità asincrona, la creazione di un compito e la lettura dello stato “in elaborazione” non comportano costi; il cliente verrà addebitato una volta al primo successo nella lettura del risultato (coerente con il comportamento attuale e il prezzo della modalità sincrona). Il server gestirà autonomamente l’avanzamento del compito, ma non addebiterà in anticipo se il backend completa prima. Se il compito non viene completato entro 120 secondi, verrà terminato con un HTTP 504 timeout, senza costi. /captcha/tasks non è responsabile dell’avanzamento del compito.

Gestione degli errori

Quando chiami l’API, se incontri un errore, l’API restituirà il codice di errore e le informazioni corrispondenti. Ad esempio:
  • 400 token_mismatched:Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.
  • 400 api_not_implemented:Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.
  • 401 invalid_token:Non autorizzato, token di autorizzazione non valido o mancante.
  • 429 too_many_requests:Troppe richieste, hai superato il limite di frequenza.
  • 500 api_error:Errore interno del server, qualcosa è andato storto sul server.

Esempio di risposta errore

Conclusione

Attraverso questo documento, hai appreso come utilizzare l’API di riconoscimento dei codici di verifica numerici in inglese, che può essere utilizzata per riconoscere codici di verifica numerici in inglese di lunghezza variabile. Inserisci il contenuto dell’immagine del codice di verifica e ottieni il risultato del codice di verifica. Speriamo che questo documento possa aiutarti a integrare e utilizzare meglio questa API. Se hai domande, non esitare a contattare il nostro team di supporto tecnico.