Menu

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. Am Ende des Skripts erfassen wir alle Browser-Sitzungsinformationen wie Cookies, localStorage-Werte, Browser-Fingerabdruck und übermitteln sie zurück an Ihre App. Sie müssen diese Daten nur noch verwenden, um unsere Arbeitssitzung wiederherzustellen und den Betrieb so fortzusetzen, als wäre es ein menschlicher Benutzer. Wie erstaunlich ist das denn? :)

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:
  • Name der Vorlage. Einmal gespeichert, kann dies nicht mehr geändert werden. Sobald Sie sie veröffentlichen, wird 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 Arbeitnehmer. Dies ist der Text, den unsere Arbeitnehmer 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" und "password". Diese beiden 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 einen permanenten Login und ein Passwort in der Vorlage fest zu kodieren.
    Variablen in Schritt 1 und 2
  • Schritte des Arbeiters. Hier können Sie die Reihenfolge der Szenarioschritte bearbeiten und ändern. In unserem Beispiel gehen wir folgendermaßen 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 dann die Seite neu, damit es wirksam wird, füllen Sie die Variablen "login" und "password" mit einigen zufälligen Werten und drücken Sie die Schaltfläche "Launch Test". Es sollte sich eine neue Seite öffnen, die wie folgt aussieht:

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 zu "url" navigieren, indem sie "Cookies" in dieser Anfrage verwendet, und zumindest den Wert "fingerprint.self.navigator.userAgent" für den User-Agent des Browsers verwenden. Komplexere Websites speichern wichtige Daten in localStorage, einer Art moderner Version von Cookies. 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) .