Skip to main content
Questo documento introduce un’API di riconoscimento delle immagini Recaptcha2, che può identificare il contenuto inserito dall’utente e l’immagine del codice captcha Recaptcha2, restituendo infine le coordinate delle piccole immagini da cliccare per completare la verifica.

Processo di richiesta

Per utilizzare l’API di riconoscimento delle immagini Recaptcha2, 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 accedere; 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 separato 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 delle immagini Recaptcha2 →

Utilizzo di base

Iniziamo a comprendere le modalità di utilizzo di base. Dobbiamo catturare l’immagine del codice captcha Recaptcha2 dal sito web; l’URL del sito di esempio è: https://www.google.com/recaptcha/api2/demo, la pagina specifica è mostrata nell’immagine qui sotto:

Dobbiamo cliccare sulla casella di controllo del captcha affinché appaia l’immagine del captcha; nella figura sopra, la freccia gialla indica un testo, e questo testo è il valore di question di cui parleremo più avanti. Prima di tutto, dobbiamo semplicemente passare un campo image, che è l’immagine specifica del captcha Recaptcha2, indicata dalla freccia rossa nell’immagine sopra, e dobbiamo ridimensionare l’immagine a una dimensione standard (100x100, 300x300, 450x450), in modo che il servizio possa determinare il tipo di immagine. La compressione dell’immagine deve essere effettuata da te; in questo documento raccomandiamo un sito di compressione, dove puoi ridimensionare e comprimere l’immagine; il risultato compresso è mostrato nell’immagine qui sotto: È inoltre necessario inserire il parametro di contenuto di riconoscimento relativo all’immagine del captcha question, abbiamo fornito la seguente tabella di contenuti come riferimento:

Tabella dei contenuti in cinese

Tabella dei contenuti in inglese

Da quanto sopra, possiamo impostare il parametro question come il corrispondente /m/01pns0 per il “fire hydrant”, il contenuto specifico è mostrato qui sotto:

Possiamo vedere che qui abbiamo impostato le intestazioni della richiesta, che includono:
  • accept: il formato della risposta desiderata, 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.
  • question: ID della domanda, si prega di consultare la tabella, che inizia con /m/.
Dopo aver selezionato, possiamo notare che a destra è stato generato il codice corrispondente, come mostrato nell’immagine qui sotto:

Cliccando sul pulsante “Try” possiamo effettuare un test, come mostrato nell’immagine sopra, e otteniamo il seguente risultato:
Il risultato restituito contiene diversi campi, descritti come segue:
  • solution, il risultato della verifica dopo l’elaborazione dell’immagine del captcha Recaptcha2.
    • size, la dimensione dell’immagine del captcha Recaptcha2.
    • label, il contenuto riconosciuto dell’immagine del captcha Recaptcha2.
    • confidences, il livello di confidenza delle aree riconosciute nell’immagine del captcha Recaptcha2, le aree partono da 0.
    • objects, le aree che soddisfano il contenuto riconosciuto nell’immagine del captcha Recaptcha2, le aree partono da 0.
    • type, il tipo di compito dell’immagine del captcha Recaptcha2, se ci sono più aree è multi.
  • 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 Recaptcha2; prima di tutto, suddividiamo l’immagine del captcha in aree, come mostrato nell’immagine qui sotto:

Possiamo vedere che le aree partono da 0; dal risultato objects abbiamo ottenuto 2, 5, 7, e dobbiamo solo simulare il clic su queste tre aree per superare la verifica. Inoltre, se desideri generare il codice di integrazione corrispondente, puoi semplicemente copiare quello generato, 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à elaborato. Se stai facendo una rotazione multi-solver e desideri “ricevere immediatamente il task_id dopo aver inviato il compito, per poi programmare altri risolutori e tornare più tardi 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:
Al termine dell’elaborazione verrà restituito status: ready e il risultato del riconoscimento solution (la struttura del campo è 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 costo viene addebitato una volta quando il client legge il risultato con successo per la prima volta (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 ha successo entro 120 secondi, verrà terminato con un HTTP 504 timeout, senza costi. /captcha/tasks non è responsabile per l’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 di errore

Conclusione

Attraverso questo documento, hai appreso come utilizzare l’API di riconoscimento delle immagini Recaptcha2 per far inserire agli utenti il contenuto da riconoscere e l’immagine del captcha Recaptcha2, restituendo infine le coordinate delle piccole immagini da cliccare per completare la verifica. Speriamo che questo documento ti aiuti a integrare e utilizzare meglio questa API. Se hai domande, non esitare a contattare il nostro team di supporto tecnico.