Skip to main content
Denna artikel kommer att introducera en Recaptcha2 bildigenkänning API integration instruktion, som kan identifiera innehållet som användaren anger och Recaptcha2 verifieringsbilden, och slutligen returnera koordinaterna för de små bilder som behöver klickas på för att slutföra verifieringen.

Ansökningsprocess

För att använda Recaptcha2 bildigenkänning API, börja med att gå till Ace Data Cloud-konsolen för att få din API-token, som du kan spara för framtida bruk. Om du inte har loggat in eller registrerat dig, kommer du automatiskt att omdirigeras till inloggningssidan för att registrera dig och logga in, och efter att ha slutfört detta kommer du automatiskt att återvända till den aktuella sidan. En API-token kan användas för att anropa alla tjänster på plattformen, det behövs ingen separat ansökan för varje tjänst. Första ansökan ger en gratis kvot, så att du kan prova gratis; om kvoten är otillräcklig kan du ladda på allmänna saldot i konsolen.
📘 Fullständig dokumentation: Recaptcha2 bildigenkänning API →

Grundläggande användning

Först, låt oss förstå den grundläggande användningen. Vi behöver fånga Recaptcha2 verifieringsbilden från webbplatsen, här är exempelwebbplatsens URL: https://www.google.com/recaptcha/api2/demo, den specifika sidan visas nedan:

Vi behöver klicka på verifieringsrutan för att få verifieringsbilden, i bilden ovan pekar den gula pilen på en text, och detta innehåll är värdet för question nedan. Först behöver vi enkelt skicka ett image-fält, vilket är den specifika Recaptcha2 verifieringsbilden, bilden är den som den röda pilen pekar på i bilden ovan, och den måste skalas till standardstorlek (100x100, 300x300, 450x450), så att tjänsten kan avgöra bildtypen. Bildkomprimeringen måste du göra själv, och vi rekommenderar en komprimeringswebbplats, där du kan komprimera bildens storlek och dimensioner, resultatet efter komprimering visas nedan: Du behöver också ange den identifieringsinnehållsparameter som är relaterad till verifieringsbilden question, vi har bara tillhandahållit följande innehållstabell som referens:

Kinesisk innehållstabell

Engelsk innehållstabell

Från ovanstående kan vi se att vi sätter parametern question till brandpostens motsvarande /m/01pns0, det specifika innehållet visas nedan:

Här kan vi se att vi har ställt in begärningshuvuden, inklusive:
  • accept: vilken typ av svar vi vill ta emot, här anges application/json, det vill säga JSON-format.
  • authorization: nyckeln för att anropa API, efter ansökan kan du direkt välja från rullgardinsmenyn.
Dessutom ställdes begärningskroppen in, inklusive:
  • image: Base64-kodad verifieringsbild.
  • question: Fråge-ID, vänligen kontrollera tabellen, som börjar med /m/.
När du har valt kan du se att motsvarande kod också genererades till höger, som visas i bilden nedan:

Klicka på “Try” knappen för att testa, som visas i bilden ovan, här fick vi följande resultat:
Det returnerade resultatet har flera fält, som beskrivs nedan:
  • solution, resultatet av verifieringen efter att Recaptcha2 verifieringsbilden har behandlats.
    • size, storleken på Recaptcha2 verifieringsbilden.
    • label, det innehåll som identifierades av Recaptcha2 verifieringsbilden.
    • confidences, förtroendet för identifieringsområdet av Recaptcha2 verifieringsbilden, området börjar från 0.
    • objects, områden som uppfyller identifieringsinnehållet efter identifiering av Recaptcha2 verifieringsbilden, området börjar från 0.
    • type, typen av uppgift för Recaptcha2 verifieringsbilden, om det finns flera områden är det multi.
Vi kan se att vi har fått verifieringsresultatet för Recaptcha2 verifieringsbilden, vi börjar med att dela upp verifieringsbilden i områden, som visas i bilden nedan:

Vi kan se att områdena börjar från 0, från resultatet objects fick vi 2,5,7, vi behöver bara simulera klick på dessa tre områden för att klara verifieringen. Om du vill generera motsvarande integrationskod kan du direkt kopiera den som genererats, till exempel CURL-koden nedan:
Python integrationskoden ser ut som följer:

Asynkron läge (async)

Som standard är API:et synkront och blockerande: en begäran väntar tills igenkänningsresultatet har behandlats innan det returneras. Om du gör en rotation av flera lösare (multi-solver rotation) och vill “skicka uppgiften och omedelbart få task_id, först schemalägga andra lösare och senare återkomma för att hämta resultatet”, kan du skicka async: true i begärningskroppen. När du skickar async: true kommer gränssnittet omedelbart att returnera ett task_id utan att blockera väntan:
Använd sedan det task_id för att pollera POST /captcha/tasks (rekommenderas var 3-5 sekund) för att hämta resultatet:
Under bearbetning kommer det att returnera status: processing:
När bearbetningen är klar kommer det att returnera status: ready och igenkänningsresultatet solution (fältstrukturen är helt identisk med det synkrona läget):
Avgiftsbeskrivning: I asynkront läge debiteras inte skapandet av uppgifter och polling “under bearbetning”; debiteras endast en gång när igenkänningsresultatet har hämtats framgångsrikt (samma pris som det synkrona läget). Därför kommer avbokning av uppgifter som inte har slutförts under rotationen inte att medföra kostnader. /captcha/tasks är gemensamt för alla captcha-gränssnitt (token och recognition-serien), och du kan pollera med samma task_id.

Felhantering

När du anropar API:et, om du stöter på ett fel, kommer API:et att returnera motsvarande felkod och information. Till exempel:
  • 400 token_mismatched: Bad request, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 400 api_not_implemented: Bad request, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 401 invalid_token: Obehörig, ogiltig eller saknad auktoriseringstoken.
  • 429 too_many_requests: För många begärningar, du har överskridit hastighetsgränsen.
  • 500 api_error: Internt serverfel, något gick fel på servern.

Exempel på felrespons

Slutsats

Genom detta dokument har du fått en förståelse för hur du använder Recaptcha2 bildigenkännings-API:et för att låta användare ange det som ska kännas igen och Recaptcha2 captcha-bilden, och slutligen returnera koordinaterna för de små bilder som behöver klickas på för att slutföra verifieringen. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda detta API. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.