Skip to main content
Denna artikel kommer att introducera en hCaptcha bildigenkänning API integration instruktion, som kan identifiera innehållet genom användarens inmatning och hCaptcha verifieringsbild, och slutligen returnera koordinaterna för den lilla bild som behöver klickas på för att slutföra verifieringen.

Ansökningsprocess

För att använda hCaptcha bildigenkänning API, börja med att gå till Ace Data Cloud-konsolen för att få din API-token, som du ska spara. 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 tar slut kan du ladda på allmän balans i konsolen.
📘 Fullständig dokumentation: hCaptcha bildigenkänning API →

Grundläggande användning

Först bör du förstå den grundläggande användningen, vilket innebär att du anger den hCaptcha verifieringsbild som behöver behandlas, så får du det bearbetade resultatet. Du behöver först enkelt överföra ett queries-fält, vilket är den specifika hCaptcha verifieringsbilden. Vi behöver ta en skärmdump av denna verifieringsbild från en webbplats med hCaptcha-verifiering, exempel på webbplatslänk är: https://democaptcha.com/demo-form-eng/hcaptcha.html, klicka på kryssrutan för att visa den fullständiga verifieringsbilden, som visas nedan:

Där queries-fältet är skärmdumpen av verifieringsbilden ovan, bildstorleken bör inte överstiga 100 kb, och du behöver också ta en skärmdump av området som den röda pilen pekar på, samt komprimera bildstorleken och konvertera den till Base64-kodning, som visas nedan:

Du behöver också ange det relaterade identifieringsinnehållet för verifieringsbilden, question, vilket stöder översättning mellan kinesiska och engelska. Du kan direkt ange det relaterade identifieringsinnehållet, vilket kan ses från den gula pilen i den ovanstående webbbilden, där question bör vara Please click on the UNIQUE object among the others.. Det specifika innehållet är som följer:

Här kan vi se att vi har ställt in Request Headers, inklusive:
  • accept: vilken format av svar du vill ta emot, här anges som application/json, det vill säga JSON-format.
  • authorization: nyckeln för att anropa API:et, efter ansökan kan du direkt välja från rullgardinsmenyn.
Dessutom har vi ställt in Request Body, inklusive:
  • queries: lista över Base64-kodade verifieringsbilder.
  • question: parameter för relaterat identifieringsinnehåll för verifieringsbilden, stöder direkt inmatning på kinesiska och engelska.
När du har valt kan du se att motsvarande kod också genererades till höger, som visas i bilden:

Klicka på “Try” knappen för att testa, som visas i bilden ovan, här får vi följande resultat:
Det returnerade resultatet har flera fält, som beskrivs nedan:
  • solution, resultatet av verifieringen efter att hCaptcha verifieringsbilden har behandlats.
    • label, innehållet som identifierades av hCaptcha verifieringsbilden.
    • box, positionsinformationen för hCaptcha verifieringsbildens identifieringsresultat, som består av bildens koordinatinformation.
    • confidences, graden av säkerhet för identifieringsinnehållet efter att hCaptcha verifieringsbilden har identifierats.
  • started_at, finished_at: tiden för när denna begäran började behandlas och när resultatet producerades, Unix-tidsstämpel (sekunder, flyttal).
  • elapsed: den totala tiden för denna behandling (sekunder).
Vi kan se att vi har fått verifieringsresultatet för hCaptcha verifieringsbilden, och vi behöver bara simulera ett klick på det område som anges av box-koordinaterna för att klara verifieringen. Nedan kommer vi att beskriva hur man klickar baserat på positionsinformationen från resultatets box. Först skapar vi ett rätvinkligt koordinatsystem för den uppladdade verifieringsbilden, där centrum är i bildens nedre vänstra hörn, 360 är den horisontella koordinaten och 276 är den vertikala koordinaten. Vi behöver bara simulera ett klick på den motsvarande koordinaten för verifieringsbilden, den specifika bildinformationen visas nedan:

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 kommer att vänta tills identifieringsresultatet har behandlats klart innan det returneras. Om du gör en rotation av flera kodare (multi-solver rotation) och vill “omedelbart få task_id efter att ha skickat uppgiften, först schemalägga andra kodare och sedan återkomma för att läsa resultatet”, kan du ange async: true i begäran. Genom att ange async: true kommer gränssnittet omedelbart att returnera ett task_id, utan att blockera och vänta:
För att aktivt se framsteg kan du använda detta task_id för att fråga POST /captcha/tasks (rekommenderas var 3~5 sekund). Detta gränssnitt kommer inte att utlösa eller påskynda uppgiftsbehandlingen; även om du inte frågar, tappar internetanslutningen eller avslutar klienten, kommer servern fortfarande att fortsätta behandlingen:
Under behandling kommer status: processing att returneras:
När behandlingen är klar kommer status: ready och igenkänningsresultatet solution att returneras (fältstrukturen är helt identisk med synkron läge):
Avgiftsbeskrivning: I asynkront läge debiteras inte skapande av uppgifter och läsning av “behandlas” status; klienten debiteras en gång när den första framgångsrika resultatet läses (i enlighet med befintligt beteende och priser för synkron läge). Servern kommer att driva uppgiften själv, men kommer inte att debitera i förväg bara för att bakgrunden slutförs först. Om uppgiften inte lyckas inom 120 sekunder kommer den att avslutas med HTTP 504 timeout, utan debitering. /captcha/tasks ansvarar inte för att driva uppgiften.

Felhantering

När du anropar API:et, om du stöter på 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 förfrågningar, 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 hCaptcha bildigenkänning API för att låta användare ange det igenkända innehållet och hCaptcha verifieringsbilden, och slutligen returnera koordinaterna för den lilla bild 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.