Skip to main content
Dieser Artikel beschreibt eine Integrationsanleitung für die Recaptcha2 Bildverarbeitungs-API, die es ermöglicht, den Inhalt, den der Benutzer erkennt, und das Recaptcha2 CAPTCHA-Bild einzugeben, um schließlich die Koordinaten des kleinen Bildes zurückzugeben, das angeklickt werden muss, um die Verifizierung abzuschließen.

Antragsprozess

Um die Recaptcha2 Bildverarbeitungs-API zu nutzen, müssen Sie zunächst Ihr API-Token im Ace Data Cloud Dashboard abrufen und für zukünftige Verwendung aufbewahren. Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, die Sie zur Registrierung und Anmeldung einlädt. Nach Abschluss werden Sie automatisch zur aktuellen Seite zurückgeleitet. Ein API-Token reicht aus, um auf alle Dienste der Plattform zuzugreifen, es ist nicht erforderlich, für jeden Dienst separat zu beantragen. Bei der ersten Beantragung erhalten Sie ein kostenloses Kontingent, um es kostenlos auszuprobieren; wenn das Kontingent nicht ausreicht, können Sie im Dashboard Ihr Guthaben aufladen.
📘 Vollständige Dokumentation: Recaptcha2 Bildverarbeitungs-API →

Grundlegende Nutzung

Zunächst sollten wir die grundlegende Nutzung verstehen. Wir müssen das Recaptcha2 CAPTCHA-Bild von der Website erfassen. Die URL der Beispielwebsite lautet: https://www.google.com/recaptcha/api2/demo, die spezifische Seite ist wie im folgenden Bild dargestellt:

Wir müssen das Kontrollkästchen für das CAPTCHA anklicken, damit das CAPTCHA-Bild erscheint. Im obigen Bild zeigt der gelbe Pfeil auf einen Textabschnitt, der den Wert des question im Folgenden darstellt. Zunächst müssen wir ein einfaches image-Feld übergeben, das das spezifische Recaptcha2 CAPTCHA-Bild ist, das im obigen Bild durch den roten Pfeil angezeigt wird. Außerdem muss das Bild auf die Standardgröße (100x100, 300x300, 450x450) skaliert werden, damit der Dienst den Bildtyp bestimmen kann. Die Kompression des Bildes müssen Sie selbst durchführen. In diesem Artikel empfehlen wir eine Kompressionswebsite, auf der Sie die Größe und das Format des Bildes komprimieren können. Das komprimierte Ergebnis ist wie im Bild dargestellt: Außerdem müssen Sie den Erkennungsinhalt, der mit dem CAPTCHA-Bild verbunden ist, als Parameter question eingeben. Wir haben nur die folgende Inhaltsübersicht bereitgestellt, die als Referenz dienen kann:

Chinesische Inhaltsübersicht

Englische Inhaltsübersicht

Aus dem obigen Text können wir den Parameter question auf den entsprechenden Wert für den Feuerhydranten /m/01pns0 setzen. Der spezifische Inhalt ist wie folgt:

Hier haben wir die Request-Header festgelegt, einschließlich:
  • accept: In welchem Format Sie die Antwort erhalten möchten, hier eingetragen als application/json, also im JSON-Format.
  • authorization: Der Schlüssel zur API-Nutzung, den Sie nach der Beantragung direkt auswählen können.
Zusätzlich haben wir den Request-Body festgelegt, einschließlich:
  • image: Das Base64-kodierte CAPTCHA-Bild.
  • question: Die Frage-ID, bitte in der Tabelle nachsehen, die mit /m/ beginnt.
Nach der Auswahl können Sie sehen, dass auf der rechten Seite auch der entsprechende Code generiert wurde, wie im Bild dargestellt:

Klicken Sie auf die Schaltfläche „Try“, um einen Test durchzuführen. Wie im obigen Bild zu sehen, haben wir das folgende Ergebnis erhalten:
Das Rückgabeergebnis enthält mehrere Felder, die wie folgt beschrieben werden:
  • solution, das Ergebnis der Verifizierung nach der Bearbeitung des Recaptcha2 CAPTCHA-Bildes.
    • size, die Größe des Recaptcha2 CAPTCHA-Bildes.
    • label, der erkannte Inhalt des Recaptcha2 CAPTCHA-Bildes.
    • confidences, die Vertrauenswürdigkeit der erkannten Bereiche im Recaptcha2 CAPTCHA-Bild, die Bereiche beginnen bei 0.
    • objects, die Bereiche im Recaptcha2 CAPTCHA-Bild, die den erkannten Inhalten entsprechen, die Bereiche beginnen bei 0.
    • type, der Typ der Aufgabe des Recaptcha2 CAPTCHA-Bildes, bei mehreren Bereichen ist es multi.
  • started_at, finished_at: Die Zeit, zu der diese Anfrage bearbeitet und das Ergebnis erzeugt wurde, Unix-Zeitstempel (Sekunden, Fließkomma).
  • elapsed: Die gesamte Bearbeitungszeit (Sekunden).
Wir können sehen, dass wir das Verifizierungsergebnis für das Recaptcha2 CAPTCHA-Bild erhalten haben. Zunächst teilen wir das CAPTCHA-Bild in Bereiche auf, wie im folgenden Bild dargestellt:

Die Bereiche beginnen alle bei 0. Aus dem Ergebnis objects haben wir 2, 5, 7 erhalten. Wir müssen nur auf diese drei Bereiche im CAPTCHA simuliert klicken, um die Verifizierung zu bestehen. Wenn Sie außerdem den entsprechenden Integrationscode generieren möchten, können Sie ihn direkt kopieren, zum Beispiel ist der CURL-Code wie folgt:
Der Python-Code zur Anbindung sieht wie folgt aus:

Asynchroner Modus (async)

Standardmäßig ist die API synchron blockierend: Eine Anfrage wartet, bis das Erkennungsergebnis verarbeitet ist, bevor sie zurückgegeben wird. Wenn Sie eine Multi-Solver-Rotation durchführen und „nach dem Einreichen der Aufgabe sofort die task_id erhalten möchten, um andere Solver zu planen und später zurückzukehren, um das Ergebnis zu lesen“, können Sie async: true im Anfragekörper übergeben. Nach dem Übergeben von async: true gibt die Schnittstelle sofort eine task_id zurück, ohne blockierend zu warten:
Um den Fortschritt aktiv zu überprüfen, können Sie die task_id verwenden, um POST /captcha/tasks abzufragen (empfohlen alle 3-5 Sekunden). Diese Schnittstelle löst oder beschleunigt die Aufgabenverarbeitung nicht; selbst wenn Sie nicht abfragen, die Verbindung unterbrochen wird oder der Client beendet wird, wird der Server die Verarbeitung weiterhin fortsetzen:
Während der Verarbeitung wird status: processing zurückgegeben:
Nach Abschluss der Verarbeitung wird status: ready und das Erkennungsergebnis solution zurückgegeben (die Struktur der Felder ist identisch mit dem synchronen Modus):
Abrechnungsinformationen: Im asynchronen Modus werden das Erstellen von Aufgaben und das Lesen des „verarbeitenden“ Status nicht berechnet; die erste erfolgreiche Ergebnisabfrage des Clients wird einmal berechnet (entspricht dem bestehenden Verhalten und den Preisen des synchronen Modus). Der Server wird die Aufgaben selbstständig vorantreiben, aber es wird keine vorzeitige Abrechnung erfolgen, nur weil die Verarbeitung im Hintergrund abgeschlossen ist. Wenn die Aufgabe innerhalb von 120 Sekunden nicht erfolgreich ist, wird sie mit HTTP 504 timeout beendet, ohne berechnet zu werden. /captcha/tasks ist nicht dafür verantwortlich, die Aufgaben voranzutreiben.

Fehlerbehandlung

Wenn beim Aufrufen der API ein Fehler auftritt, gibt die API den entsprechenden Fehlercode und die Informationen zurück. Zum Beispiel:
  • 400 token_mismatched: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 400 api_not_implemented: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 401 invalid_token: Unbefugt, ungültiger oder fehlender Autorisierungstoken.
  • 429 too_many_requests: Zu viele Anfragen, Sie haben das Rate-Limit überschritten.
  • 500 api_error: Interner Serverfehler, etwas ist auf dem Server schiefgelaufen.

Beispiel für eine Fehlerantwort

Fazit

Durch dieses Dokument haben Sie erfahren, wie Sie die Recaptcha2-Bilderkennung-API verwenden, um die vom Benutzer eingegebenen Erkennungsinhalte und das Recaptcha2-Bild zu verarbeiten und schließlich die Koordinaten des kleinen Bildes zurückzugeben, das angeklickt werden muss, um die Verifizierung abzuschließen. Wir hoffen, dass dieses Dokument Ihnen hilft, die API besser zu integrieren und zu nutzen. Bei Fragen wenden Sie sich bitte jederzeit an unser technisches Support-Team.