Standard-reCAPTCHA v3 mit der API lösen

Von solvethree3 Min. Lesezeit

Setzen Sie für Standard-reCAPTCHA-v3 recaptchaType im Aufgaben-Body auf v3. Verwenden Sie für reCAPTCHA Enterprise v3 enterprise-v3. Dies ist auch der Standardwert, wenn Sie das Feld weglassen.

Auf dieser Seite

Profil, Hostnamen, Aktion und Proxy vorbereiten

Auch Standard-v3 erfordert ein aktives Websiteprofil, das Ihrem Workspace zur Verfügung steht. Richten Sie die Zielwebsite in der Konsole ein, bevor Sie eine Aufgabe erstellen; das Senden eines Hostnamens und einer Aktion erstellt kein Profil.

  • site: der Zielhostname, zum Beispiel accounts.example.com, keine vollständige Seiten-URL.
  • action: die von der reCAPTCHA-Integration des Ziels verwendete Aktion. Ersetzen Sie login aus dem Beispiel, wenn das Ziel eine andere Aktion verwendet. Siehe Aktion ermitteln.
  • proxy oder proxyCandidates: Geben Sie genau eines davon an. Das Beispiel verwendet einen einzelnen Proxy. Wenn Sie stattdessen Kandidaten verwenden, akzeptiert die Liste höchstens zwölf unterschiedliche HTTP- oder HTTPS-Proxy-URLs ohne Pfad, Query oder Fragment.

Standard-v3-Aufgabe senden

Senden Sie diesen JSON-Body an POST https://api.solvethree.com/v1/tasks. Authentifizieren Sie sich mit einem Workspace-API-Schlüssel im Header Authorization unter Verwendung des Bearer-Schemas. Bewahren Sie den Schlüssel auf Ihrem Server auf.

Standard v3 · Aufgaben-Body
{
  "site": "accounts.example.com",
  "action": "login",
  "recaptchaType": "v3",
  "proxy": "http://user:[email protected]:8080",
  "requestId": "v3-login-001"
}

recaptchaType gehört auf die oberste Ebene, neben site, action und proxy. Fügen Sie für reCAPTCHA kein Feld type oder url hinzu.

Ersetzen Sie den Beispielhostnamen, die Aktion und den Proxy durch die Werte Ihres Ziels. Verwenden Sie für jeden neuen logischen Lösungsversuch eine neue requestId. Wenn bei der Erstellung eine Zeitüberschreitung auftritt, senden Sie denselben Aufgaben-Body mit derselben ID erneut, um die bestehende Aufgabe wiederherzustellen, statt eine weitere zu erstellen. Die Wiederverwendung dieser ID mit anderen Eingaben führt zu einem Konflikt.

Auf Fertigstellung warten, dann das Token übermitteln

  1. 1.

    Zuerst die HTTP-Antwort prüfen

    Behandeln Sie eine nicht erfolgreiche HTTP-Antwort, bevor Sie den Body als Aufgabenergebnis lesen. Prüfen Sie den Status und beheben Sie den gemeldeten Anfragefehler.

  2. 2.

    Aufgabe bis zum Abschluss abrufen

    Die Erstellung wartet standardmäßig bis zu 15 Sekunden; planen Sie im Zeitlimit Ihres Clients zusätzliche Zeit für den Netzwerk-Overhead ein. Wenn der Status pending oder solving ist, rufen Sie die Aufgabe mit GET /v1/tasks/:id ab. GET-Polling wartet standardmäßig nicht; übergeben Sie für Long Polling waitMs mit einem Wert bis 15000 als URL-Abfrageparameter, nicht als JSON-Feld. Beenden Sie das Polling bei ready oder failed. Prüfen Sie bei failed die Felder errorCode und error, bevor Sie entscheiden, ob ein weiterer Versuch sinnvoll ist.

  3. 3.

    Fertige Lösung verwenden

    Übermitteln Sie solution.token an das vorgesehene Ziel, nicht die Aufgaben-ID. Verwenden Sie die zurückgegebenen Werte userAgent und secChUa zusammen mit dem erfolgreichen Proxy. Wechseln Sie zwischen dem Lösungsversuch und der Übermittlung weder die IP-Adresse noch zu einer davon unabhängigen Browseridentität.

Ein fertiges Token ist kein Nachweis für einen bestimmten reCAPTCHA-Score oder die Annahme durch das Ziel. reCAPTCHA v3 liefert einen Risikoscore und eine Aktion, die das Ziel in seinem Backend auswertet; prüfen Sie die Antwort des Ziels auf die Anfrage, mit der das Token übermittelt wird.

Führe deinen ersten Task aus.

Starte mit $5 Workspace-Guthaben.

Workspace erstellen
Standard-reCAPTCHA v3 mit der API lösen · solvethree