Zum Hauptinhalt springen
Dieser Artikel beschreibt eine Integrationsanleitung für die hCaptcha Bildverarbeitungs-API, die es ermöglicht, durch die Eingabe des vom Benutzer erkannten Inhalts und des hCaptcha-Bildes die Koordinaten des kleinen Bildes zurückzugeben, das angeklickt werden muss, um die Verifizierung abzuschließen.

Antragsprozess

Um die API zu nutzen, müssen Sie zunächst auf die entsprechende Seite der hCaptcha Bildverarbeitungs-API gehen und den entsprechenden Dienst beantragen. Nach dem Betreten der Seite klicken Sie auf die Schaltfläche „Acquire“, wie im Bild gezeigt: Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, um sich zu registrieren und anzumelden. Nach der Anmeldung werden Sie automatisch zur aktuellen Seite zurückgeleitet. Bei der ersten Beantragung gibt es ein kostenloses Kontingent, mit dem Sie die API kostenlos nutzen können.

Grundlegende Nutzung

Zunächst sollten Sie die grundlegende Nutzung verstehen, bei der das hCaptcha-Bild eingegeben wird, das verarbeitet werden soll, um das Ergebnis zu erhalten. Zunächst müssen Sie ein queries-Feld übergeben, das das spezifische hCaptcha-Bild darstellt. Wir müssen ein Bild dieses Captchas von einer Website mit hCaptcha aufnehmen, ein Beispiel-Link zur Website lautet: https://democaptcha.com/demo-form-eng/hcaptcha.html. Klicken Sie auf das Kontrollkästchen, um das vollständige Captcha-Bild anzuzeigen, wie im folgenden Bild gezeigt:

Das queries-Feld ist der Screenshot des oben genannten Captcha-Bildes. Die Bildgröße sollte 100 KB nicht überschreiten. Außerdem müssen Sie den Bereich, auf den der rote Pfeil im obigen Bild zeigt, ebenfalls aufnehmen und das Bild selbst komprimieren sowie in Base64 kodieren, wie im folgenden Bild gezeigt:

Zusätzlich müssen Sie den mit dem Captcha-Bild verbundenen Erkennungsinhalt als Parameter question eingeben. Dies unterstützt Übersetzungen in Chinesisch und Englisch, und Sie können den entsprechenden Erkennungsinhalt direkt übergeben. Aus dem oben genannten Bild ist zu entnehmen, dass der question-Eingang „Please click on the UNIQUE object among the others.“ sein sollte. 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 wurde der Request-Body festgelegt, einschließlich:
  • queries: Liste der Base64-kodierten Captcha-Bilder.
  • question: Parameter für den Erkennungsinhalt des Captcha-Bildes, der die Eingabe in Chinesisch und Englisch unterstützt.
Nach der Auswahl können Sie feststellen, dass auf der rechten Seite auch der entsprechende Code generiert wurde, wie im Bild gezeigt:

Klicken Sie auf die Schaltfläche „Try“, um einen Test durchzuführen, wie im obigen Bild gezeigt. Hier haben wir das folgende Ergebnis erhalten:
{
  "solution": {
    "label": "Please click on the UNIQUE object among the others",
    "box": [
      "360",
      "276"
    ],
    "confidences": 0.6354503631591797
  }
}
Das zurückgegebene Ergebnis hat mehrere Felder, die wie folgt beschrieben werden:
  • solution, das Ergebnis der Verifizierung nach der Bearbeitung des hCaptcha-Bildes.
    • label, der erkannte Inhalt des hCaptcha-Bildes.
    • box, die Positionsinformationen des Erkennungsergebnisses des hCaptcha-Bildes, die aus den Koordinateninformationen des Bildes bestehen.
    • confidences, die Vertrauenswürdigkeit des Erkennungsergebnisses des hCaptcha-Bildes.
Wir haben das Verifizierungsergebnis für das hCaptcha-Bild erhalten. Wir müssen nur die Koordinateninformationen aus dem box-Ergebnis verwenden, um auf den entsprechenden Bereich des Captcha-Bildes zu klicken, um die Verifizierung zu bestehen. Im Folgenden wird beschrieben, wie man durch die Positionsinformationen des box-Ergebnisses klicken kann. Zunächst wird ein rechtwinkliges Koordinatensystem für das hochgeladene Captcha-Bild erstellt, wobei der Ursprung in der linken unteren Ecke des Bildes liegt. 360 ist die entsprechende X-Koordinate und 276 die entsprechende Y-Koordinate. Wir müssen nur simulieren, dass wir auf die entsprechenden Koordinaten des Captchas klicken, wie im folgenden Bild gezeigt:

Wenn Sie den entsprechenden Integrationscode generieren möchten, können Sie ihn direkt kopieren, zum Beispiel sieht der CURL-Code wie folgt aus:
curl -X POST 'https://api.acedata.cloud/captcha/recognition/hcaptcha' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "question": "Please click on the UNIQUE object among the others.",
  "queries": ["iVBORw0KGgoAAAANSU.....eY+85KVlzKHav28uq/WLVhL2kHUlFMKUcZbL31S8bpd0pEPKxNllXAE2wgu3uEfj+BfAzOGelsQNFAAAAAElFTkSuQmCC"]
}'
Der Python-Integrationscode sieht wie folgt aus:
import requests

url = "https://api.acedata.cloud/captcha/recognition/hcaptcha"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "question": "Please click on the UNIQUE object among the others.",
    "queries": ["iVBORw0KGgoAAAANSU.....eY+85KVlzKHav28uq/WLVhL2kHUlFMKUcZbL31S8bpd0pEPKxNllXAE2wgu3uEfj+BfAzOGelsQNFAAAAAElFTkSuQmCC"]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

Fehlerbehandlung

Wenn beim Aufruf 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

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Fazit

Durch dieses Dokument haben Sie gelernt, wie Sie die hCaptcha Bildverarbeitungs-API verwenden, um den vom Benutzer erkannten Inhalt und das hCaptcha-Bild einzugeben 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.