Skip to main content
Denna artikel kommer att introducera en Recaptcha3 protokolligenkänning API integration instruktion, som gör det möjligt för användare att verifiera utan att behöva identifiera och klicka på Recaptcha3 verifieringsbilden, utan endast genom att skicka in Website Key för att uppnå automatisk avkodning i bakgrunden och slutföra verifieringen.

Ansökningsprocess

För att använda Recaptcha3 protokolligenkä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 som bjuder in dig 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 plattformens tjänster, utan att behöva ansöka separat för varje tjänst. Första ansökan ger en gratis kvot, så att du kan prova gratis; när kvoten är otillräcklig kan du ladda på allmän balans i konsolen.
📘 Fullständig dokumentation: Recaptcha3 protokolligenkänning API →

Grundläggande användning

Först, låt oss förstå den grundläggande användningen. Jämfört med Recaptcha2 behöver vi dessutom skicka in en parameter page_action, som måste hämtas från koden. Denna demonstrationswebbadress är: https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php, nedan visas en metod för att hämta den:

Snabbmetod:

Öppna f12, och sök sedan på Element-sidan efter .execute(, i det röda rutan kan vi se att det finns en action parameter, samtidigt som execute följs av en sträng, vilket också är innehållet som behövs nedan, som visas i bilden nedan.

Därefter behöver vi ange URL:en för den webbplats som ska hantera verifieringskoden, för att få det bearbetade resultatet. Först behöver vi enkelt skicka ett website_url fält, och slutligen behöver vi ange parametern website_key, vilket kan hämtas från ovanstående text, också en sträng som följer efter execute. Vi kan nu fylla i motsvarande innehåll på gränssnittet, som visas i bilden nedan:

Här kan vi se att vi har ställt in Request Headers, inklusive:
  • accept: vilken typ av svar vi vill ta emot, här anges som application/json, det vill säga JSON-format.
  • authorization: nyckeln för att anropa API:et, som kan väljas direkt efter ansökan.
Dessutom har vi ställt in Request Body, inklusive:
  • page_action: som behöver hämtas från koden på webbplatsen med verifieringskoden.
  • website_url: URL:en för den webbplats som ska hantera verifieringskoden.
  • website_key: webbplatsens nyckelidentifierare i Recaptcha3.
När du har valt kan du se att det också har genererats motsvarande kod till höger, som visas i bilden nedan:

Klicka på “Try” knappen för att testa, som visas i bilden ovan, här har vi fått följande resultat:
Resultatet innehåller flera fält, som beskrivs nedan:
  • token, resultatet av Recaptcha3-verifieringen efter att uppgiften har behandlats.
  • 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 Recaptcha3, som vi sedan kan använda för att simulera en POST- eller GET-begäran till målsidan, engångsanvändning, giltig i 120 sekunder, rekommenderas att användas inom 60 sekunder. Nedan följer en kort beskrivning av ett sätt att skicka den genererade token till målsidan: Anropa Python-koden som motsvarar tokenverifieringen:
Därför kan vi få resultatet:
Det kan ses att success här representerar resultatet av valideringen, vilket innebär att vi framgångsrikt har passerat Recaptcha3-verifieringen. Om du vill generera motsvarande integrationskod kan du direkt kopiera den som genereras, till exempel CURL-koden nedan:
Python-integrationskoden ser ut som följer:

Asynkront läge (async)

Som standard är API:et synkront och blockerande: en begäran kommer att vänta tills tokenbehandlingen är klar innan den returneras. Om du gör en multipel kodlösning (multi-solver rotation) och vill “få task_id omedelbart efter att ha skickat uppgiften, för att sedan schemalägga andra kodlösningar och senare återkomma för att läsa resultatet”, kan du skicka async: true i begäran. När async: true skickas, kommer gränssnittet omedelbart att returnera ett task_id utan att blockera:
För att aktivt se framstegen 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 stänger klienten, kommer servern fortfarande att fortsätta behandlingen:
Under behandling kommer status: processing att returneras:
När behandlingen är klar kommer status: ready och token att returneras:
Avgiftsinformation: I asynkront läge debiteras inte skapandet av uppgifter och läsning av “behandlas”-status; klienten debiteras en gång när den första framgångsrika resultatet läses (samma som nuvarande beteende och priser för synkront 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å 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: Unauthorized, ogiltig eller saknad auktoriseringstoken.
  • 429 too_many_requests: För många begärningar, du har överskridit hastighetsgränsen.
  • 500 api_error: Intern 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 Recaptcha3-protokollet för att identifiera API så att användare inte behöver identifiera och klicka på Recaptcha3-verifieringsbilder, utan bara behöver skicka Website Key för att möjliggöra automatisk avkodning i bakgrunden och 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.