Unterstützte Aufgabenarten
API-Methoden
Artikel
Tutorials
GitHub
Tutorial pages

So umgehen Sie jedes Captcha mit AntiGate Aufgaben

Eine neue Videoversion des AntiGate Aufgaben Tutorials ist verfügbar hier.

Nach jahrelanger Forschung und Entwicklung haben wir eine universelle Lösung gefunden mit der Ihre Bots von Menschen errichtete Captcha-Gates passieren können. Wir nennen es "AntiGate". Unsere menschlichen Mitarbeiter verwenden Szenario-Vorlagen, um die jeweiligen Aufgaben auszuführen.

An einem bestimmten Punkt stößt Ihre Anwendung auf einen Automatisierungsschutz "gateway" mit einer neuen Art von Captcha, verdeckten Browserskripten oder was auch immer. An dieser Stelle kommen unsere AntiGate-Aufgaben ins Spiel. Sie beauftragen einen unserer Mitarbeiter mit dem Aufbau einer echten menschlichen Browsersitzung.
  • Wählen Sie zunächst eine Vorlage aus. Sie können eine vorhandene Vorlage verwenden oder eine eigene erstellen. Eine Vorlage ist eine Reihe von Schritt-für-Schritt-Anweisungen, die die Mitarbeiter ausführen.
  • Zweitens geben Sie alle zusätzlichen Daten an, die für die Vorlage benötigt werden, z. B. den Wert einer zu füllenden Eingabe, den CSS-Selektor einer Eingabe oder die Webadresse, zu der wir navigieren sollen. Wir werden gleich noch etwas mehr über Vorlagen sprechen.
  • Drittens - und optional - Proxys. Sie werden benötigt, wenn eine Website jedes Sitzungscookie mit einer genauen IP-Adresse verknüpft.
Mit diesen drei Elementen erstellen Sie eine Aufgabe mit unserer API. Ein Mitarbeiter navigiert mit unserem speziellen Browser-Plugin zu Ihrer Website und führt alle Schritte des Szenarios manuell oder automatisch aus. Und am Ende des Skripts erfassen wir alle Browser-Sitzungsinformationen wie Cookies, localStorage-Werte, Browser-Fingerabdruck und übertragen sie zurück an ihre App. Jetzt müssen Sie diese Daten nur noch verwenden, um die Arbeitssitzung wiederherzustellen und den Betrieb so fortzusetzen, als wäre es ein menschlicher Benutzer. Ganz einfach, oder :)

Was sind AntiGate Vorlagen?

Eine AntiGate-Vorlage definiert ein genaues Szenario, das unsere Mitarbeiter durchlaufen sollen. Vorlagen bestehen aus Schritten, die alle nacheinander ausgeführt werden. Wenn ein Schritt abgeschlossen ist, geht der Arbeiter zum nächsten über. Wenn alle Schritte abgeschlossen sind, ist die Aufgabe beendet, und es wird ein Schnappschuss der Arbeitssitzung erstellt und an Ihre Anwendung zurückgeschickt.

Welche Art von Schritten gibt es?
  • Texteingabefeld automatisch oder manuell ausfüllen.
  • Warten, bis ein Textmuster auf der Seite erscheint (oder verschwindet).
  • Warten, bis ein per CSS definiertes DOM-Element auf der Seite erscheint (oder verschwindet).
  • Warten, dass ein Schlüsselwort in der aktuellen URL-Adresse des Browsers des Mitarbeiters erscheint (oder verschwindet).
Das "description for workers" Textfeld der Vorlage kann weitere Schritte beschreiben, die Sie vom Mitarbeiter erwarten, wie: "Captcha lösen und Eingabe drücken".
Sehen wir uns ein Beispiel an. Navigieren Sie zum Developer-Center und erstellen Sie eine kostenlose Vorlage zum Testen. Keine Sorge, Sie werden nichts kaputt machen!
Klicken Sie, um die Vorlage hinzuzufügen
Klicken Sie, um ein Beispiel zu laden
Beachten Sie den Abschnitt Schritte
Sie haben ein Demonstrationsbeispiel geladen. Sie können es in Ihrem Konto speichern und es später selbst testen. Machen wir uns mit der vollständigen Liste der Vorlagen-Eigenschaften vertraut:
  • Vorlagen-Name. Einmal gespeichert, kann er nicht mehr geändert werden. Sobald Sie die Vorlage veröffentlichen, ist Ihre Vorlage unter diesem Namen in der API verfügbar.
  • Beschreibung für Kunden. Öffentliche Vorlagen sind in unserem Vorlagen-Katalog erhältlich.
  • Beschreibung für Arbeiter. Das ist der Text, den unsere Arbeiter oben auf der Seite sehen.
    Arbeiter Interface-Beispiel
  • Variablen. Dies ist eine Liste von Variablennamen, die Sie hinzufügen können, um sie in den Schritten anstelle von festen Werten zu verwenden. In diesem Beispiel haben wir 2 Variablen, "login" and "password". Diese 2 werden in den Schritten 1 und 2 verwendet, um das Anmeldeformular für die Demonstration auszufüllen. Auf diese Weise können Sie diese Werte über die API bereitstellen, anstatt ein dauerhaftes Login und Passwort in der Vorlage zu kodieren.
    Variablen in Schritt 1 und 2
  • Arbeiter-Schritte. Hier können Sie die Reihenfolge der Szenarioschritte bearbeiten und ändern. In unserem Beispiel gehen wir wie folgt vor:
    1. Automatisches Ausfüllen des Textfeldes mit dem CSS-Selektor "#login". Der Wert für das Textfeld wird durch die Variable "login" definiert.
    2. Automatisches Ausfüllen des Textfeldes mit dem CSS-Selektor "#password". Der Wert für das Textfeld wird durch die Variable "password" definiert.
    3. Warten Sie, bis ein Kontrolltext auf der Seite erscheint. Er ist dauerhaft auf den Wert "Test passed with login" gesetzt.

Sie können die Vorlage nun speichern, und sie wird in Ihrem Developer-Center angezeigt. Beachten Sie, dass die Vorlage den "Sandbox" Status hat. Das heißt, dass Sie nur Ihnen zur Verfügung steht und nicht in der API verfügbar ist. Von hier aus können Sie Ihre neu erstellte Vorlage aus Sicht eines Mitarbeiters testen.

Test-Vorlagen

An dieser Stelle müssen Sie den Chrome-Browser verwenden. Wir empfehlen Ihnen, in diesem Browser ein neues Benutzerprofil anzulegen, da wir unser Plugin installieren müssen, das Zugriff auf die Cookies des Profils hat.
Arbeiter Interface-Beispiel
Klicken Sie als nächstes die "test" Schaltfläche auf Ihrer Vorlagen-Karte.
Folgen Sie den Anweisungen und laden Sie das Plugin für Ihre Plattform herunter. Laden Sie die Seite neu, damit die Änderungen wirksam werden, füllen Sie die "login" und "password" Variablen mit beliebigen Werten aus und klicken Sie die "Launch Test" Schaltfläche. Hierbei sollte sich eine neue Seite öffnen, sie unten:

Neben der Adressleiste befindet sich eine blaue Leiste, die das Plugin oben auf der Zielseite einfügt. Auf diese Weise wissen die Mitarbeiter über ihre Aufgaben Bescheid und können die Ausführung der Aufgabe kontrollieren.

Beachten Sie auch, dass die Felder Login und Passwort beim Ausfüllen mit Variablen ausgeblendet werden. Dies ist beabsichtigt. Obwohl die Mitarbeiter über die Entwicklerkonsole vollen Zugriff auf die Aufgabendaten haben, machen sich 99,99 % von ihnen nicht die Mühe zu prüfen, was hinter den Kulissen geschieht.
Wenn Sie das Recaptcha gelöst haben, drücken Sie die "Sign In" Schaltfläche. Der letzte Schritt der Vorlage, "WAIT_CONTROL_TEXT_PRESENT", wird passiert. Das Plugin sucht nach der Kontrollphrase "Test passed with login", die in Ihrer Vorlage fest definiert ist. Die Registerkarte wird automatisch geschlossen und der Snapshot der Sitzung wird im Ergebnisfeld angezeigt.
Ergebnis-Beispiel

Die gleichen Snapshot-Daten können auch über die API empfangen werden. Um Ihre Vorlage jedoch in der API verfügbar zu machen, müssen wir sie zunächst veröffentlichen.

Veröffentlichungs-Vorlagen

Bei der Veröffentlichung einer Vorlage haben Sie 2 Möglichkeiten: Sie können sie privat oder öffentlich machen.
  • Private Vorlagen sind nur mit Ihrem API-Schlüssel verfügbar. Andere Kunden können sie nicht verwenden. Kosten für Überprüfung und Veröffentlichung: $1.
  • Öffentliche Vorlagen sind für jeden zugänglich. Sie verdienen 5% an den Ausgaben jedes Kunden mit dieser Vorlage. Sie müssen Kontaktinformationen für unsere Kunden hinterlassen, damit sie sich an Sie wenden können, wenn etwas mit Ihrer Vorlage schiefläuft. Kosten für Überprüfung und Veröffentlichung: $1.
Wir überprüfen alle Vorlagen sorgfältig. Um erfolgreich in den Produktionsmodus zu wechseln, müssen Sie einige Grundvoraussetzungen erfüllen:
  • Keine illegalen Aktivitäten.
  • Vorlagen sollten keine Duplikate sein.
  • Senden Sie keine Dummy- oder Testvorlagen.
  • Geben Sie eine Beispiel-Webadresse und Variablenwerte zur Überprüfung an. Wir starten einen Test. Alle Schritte sollten erfolgreich abgeschlossen werden.

API-Anfragen

Eine Anfrage zur Aufgabenerstellung an die API für die obige AntiGate-Vorlage würde etwa so aussehen:

curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY",
    "task":
        {
            "type":"AntiGateTask",
            "websiteURL":"https://anti-captcha.com/demo/?page=recaptcha_v2_textarea",
            "templateName":"Demo sign-in at anti-captcha.com #123456",
            "variables": {
                "login":"some value",
                "password":"some value"
            }
        }
}' https://api.anti-captcha.com/createTask

Das heißt, Sie passieren die "templateName" und "variables" Parameter, um die Vorlage auszufüllen.

Verwendung von Aufgaben-Ergebnissen

Erfolgreich abgeschlossene AntiGate Aufgaben resultieren in einer Lösung, die "cookies", "localStorage", "fingerprint" und "url" umfasst.Ihre Software muss "url" navigieren, indem sie "cookies" in dieser Anfrage verwendet, und muss mindestens den "fingerprint.self.navigator.userAgent" Wert für den User-Agenten des Browsers verwenden. Komplexere Websites speichern wichtige Daten in localStorage, einer Art moderner Cookie-Version. In diesem Fall müssen Sie diese Daten in die Seite einfügen, bevor Sie die Javascripts ausführen. Dies kann in einer Entwicklungsumgebung wie Puppeteer geschehen. Dieses Thema verdient wahrscheinlich einen weiteren Artikel.

Erstellen Ihrer eigenen Vorlagen

Folgen Sie einfach den obigen Schritten, ohne die Beispielvorlage zu laden. Füllen Sie alle Details aus und fügen Sie die Schritte sorgfältig hinzu. Beachten Sie, dass alle Schritte sequentiell ausgeführt werden. Das Plugin lässt die Ausführung des nächsten Schrittes erst zu, wenn der aktuelle Schritt abgeschlossen ist. Sie können Ihre Vorlage jederzeit speichern und sie mit dem Browser-Plugin des Workers testen.

Preise

Zu diesem Zeitpunkt haben wir den Preis auf 2 $ pro 1000 Aufgaben festgelegt. Außerdem kostet jede Sekunde der Aufgabenausführung 1/60 des Aufgabenpreises. Beispiel: Die Aufgabe kostet $0,002, und der Arbeiter hat 20 Sekunden mit ihrer Lösung verbracht.
Die endgültigen Kosten betragen $0,00266 = 0,002 + (0,002 / 60 * 20) .