Skip to main content
Dieser Artikel beschreibt eine hCaptcha Protokoll Erkennungs-API-Integrationsanleitung, die es Benutzern ermöglicht, hCaptcha-Bildverifizierungscodes ohne Erkennung und Auswahl zu übermitteln, indem sie einfach den Website-Schlüssel einreichen, um die automatische Dekodierung im Hintergrund durchzuführen und die Verifizierung abzuschließen.

Antragsprozess

Um die hCaptcha Protokoll Erkennungs-API zu verwenden, müssen Sie zunächst im Ace Data Cloud Dashboard Ihr API-Token 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, ohne dass für jeden Dienst separat beantragt werden muss. Bei der ersten Beantragung erhalten Sie ein kostenloses Kontingent, um es kostenlos auszuprobieren; wenn das Kontingent erschöpft ist, können Sie im Dashboard das allgemeine Guthaben aufladen.
📘 Vollständige Dokumentation: hCaptcha Protokoll Erkennungs-API →

Grundlegende Nutzung

Zunächst sollten Sie die grundlegende Nutzung verstehen, indem Sie die URL der Website eingeben, die das hCaptcha zu verarbeiten hat, um das verarbeitete Ergebnis zu erhalten. Zuerst müssen Sie einfach ein website_url-Feld übermitteln. Unsere Beispielwebsite ist: https://accounts.hcaptcha.com/demo, wir müssen auf der website_url-Seite den website_key abrufen. Öffnen Sie zunächst diese Webseite, drücken Sie F12, um die Konsole zu öffnen, und suchen Sie dann im Elementbereich global nach hcaptcha-demo, um das folgende Ergebnis zu erhalten:

Die Zeichenfolge, die dem data-sitekey entspricht, ist der Wert des website_key. Hier sind die spezifischen Parameterergebnisse:

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:
  • website_url: Die URL der Website, die das Captcha verarbeiten muss.
  • website_key: Der Website-Schlüssel-Identifikator in hCaptcha.
  • rqdata: Optional. hCaptcha Enterprise-Herausforderungen können data-rqdata auf der Seite bereitstellen; füllen Sie bei solchen Herausforderungen den ursprünglichen Wert aus; normales hCaptcha muss nicht ausgefüllt werden.
  • proxy: Optional, bringen Sie Ihren eigenen Proxy mit. Nach der Einstellung wird das System das von Ihnen bereitgestellte Proxy-IP verwenden, um das Captcha zu entschlüsseln, um die Qualität der Ausgangs-IP zu steuern (z. B. um zu vermeiden, dass öffentliche Proxy-IPs von der Zielseite blockiert werden und 410 Gone zurückgegeben wird). Das Format ist scheme://[user:pass@]host:port, wobei scheme http/https/socks4/socks5 unterstützt, z. B. http://user:pass@1.2.3.4:8080. Wenn nicht ausgefüllt, wird der Standardproxy der Plattform verwendet.
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, haben wir das folgende Ergebnis erhalten:
可以看到我们得到了处理 hCaptcha验证码 的验证结果,然后我们可以用于POST或模拟提交给目标网站,一次性使用,有效期120s,建议在60s内使用,接下来将提供一段CURL版本将处理后token提交到目标网站来通过Recaptcha2验证码。 首先我们需要获取网站是如何发送POST请求,这样我们才能将生成的token传入进去,我们需要先打开F12控制台,然后人工先通过一下,最后我们可以看到网站发送了一个POST请求,我们只需要查看这次的POST请求构造,具体的过程如下:
  • 先人工通过验证,具体的如下图:

  • 再点击submit,观看控制台的network变化,具体的如下图:

  • 分析此次提交的POST请求构造,最后可以右键该请求复制CURL的代码,具体的如下图:

由上图分析可知,此次POST请求的URL为:https://accounts.hcaptcha.com/demo,我们仅需要提交参数 g-recaptcha-responseh-captcha-responseemail,然后我们只需要将处理后的token传入下面的data中即可,调用token验证所对应CURL代码如下:
调用token验证所对应的Python代码如下:
然后我们观察控制台变得了这样的结果:

最后我们就通过了hCaptcha验证码的验证。 另外如果想生成对应的对接代码,可以直接复制生成,例如 CURL 的代码如下:
Python 的对接代码如下:

异步模式(async)

标准mäßig ist die API synchron blockierend: Eine Anfrage wartet, bis die Tokenverarbeitung abgeschlossen 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 die Ergebnisse abzurufen“, können Sie async: true im Anfragekörper übergeben. Nach der Übergabe von async: true gibt die Schnittstelle sofort eine task_id zurück, ohne zu blockieren:
Um den Fortschritt aktiv zu überprüfen, können Sie diese 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 weiterhin verarbeiten:
Während der Verarbeitung wird status: processing zurückgegeben:
Nach Abschluss der Verarbeitung wird status: ready und das Token zurückgegeben:
Abrechnungsinformationen: Im asynchronen Modus werden die Erstellung von Aufgaben und das Abrufen des „verarbeiteten“ Status nicht berechnet; Die erste erfolgreiche Abfrage des Ergebnisses durch den Client wird einmal berechnet (entspricht dem aktuellen Verhalten und den Preisen im 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 verantwortlich für die Vorantreibung der Aufgaben.

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 Kontingent überschritten.
  • 500 api_error: Interner Serverfehler, etwas ist auf dem Server schiefgelaufen.

Fehlerantwort Beispiel

Fazit

Durch dieses Dokument haben Sie gelernt, wie Sie die hCaptcha-Protokollidentifikations-API verwenden, damit Benutzer die hCaptcha-Bilder nicht erkennen und anklicken müssen, sondern einfach den Website-Schlüssel einreichen können, um die automatische Dekodierung im Hintergrund durchzuführen und die Überprüfung abzuschließen. Wir hoffen, dass dieses Dokument Ihnen hilft, die API besser zu integrieren und zu verwenden. Bei Fragen wenden Sie sich bitte jederzeit an unser technisches Support-Team.