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

Ansökningsprocess

För att använda Recaptcha3 protokolligenkänning API, börja med att gå till Ace Data Cloud-konsolen för att hämta 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 räcker för att anropa alla plattformens tjänster, 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: Recaptcha3 protokolligenkänning API →

Grundläggande användning

Först bör du förstå den grundläggande användningen, jämfört med Recaptcha2 behöver vi dessutom skicka in en parameter page_action, denna parameter måste hämtas från koden, den visade webbadressen ä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 följs execute av en sträng, vilket också är innehållet som behövs nedan, specifikt visas det enligt bilden nedan.

Därefter behöver du ange URL:en för den webbplats som ska hantera verifieringskoden, så får du det bearbetade resultatet, först behöver du enkelt skicka in ett website_url fält, och slutligen behöver du ange parametern website_key, detta innehåll kan hämtas ovan, 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 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:
  • page_action: måste 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 motsvarande kod också har genererats 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 behandlingen av Recaptcha3-verifieringsuppgiften.
Vi kan se att vi har fått verifieringsresultatet för Recaptcha3, som vi kan använda för att simulera en POST- eller GET-begäran till målsidan, engångsanvändning, giltighetstid 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:
Vi kan se att success indikerar resultatet av verifieringen här, vilket innebär att vi framgångsrikt har passerat verifieringen av Recaptcha3. Om du dessutom vill generera motsvarande integrationskod kan du direkt kopiera den som genereras, till exempel CURL-koden nedan:
Python-koden för integration ser ut som följer:

Asynkron läge (async)

Som standard är API:et synkront och blockerande: en begäran väntar tills tokenbehandlingen är klar innan den returneras. Om du gör en multipel lösare rotation och vill “få task_id omedelbart efter att ha skickat uppgiften, först schemalägga andra lösare och sedan å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 en task_id utan att blockera väntan:
Använd sedan den task_id för att pollera POST /captcha/tasks (rekommenderas var 3-5 sekund) för att hämta resultatet:
Under bearbetning kommer status: processing att returneras:
När bearbetningen är klar kommer status: ready och token att returneras:
Avgiftsinformation: I asynkront läge debiteras varken skapande av uppgifter eller polling “under bearbetning”; debiteras endast en gång när resultatet framgångsrikt hämtas (samma pris som i synkront läge). Därför kommer avbokning av ännu inte slutförda uppgifter under rotationen inte att medföra kostnader. /captcha/tasks är gemensamt för alla captcha-gränssnitt (token och recognition-serier), och du kan pollera med samma task_id.

Felhantering

Vid anrop av API:et, om ett fel uppstår, 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 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.