Menu

So umgehen Sie jedes Captcha mit AntiGate Aufgaben

Für eine neue Video-Version des AntiGate Task-Tutorials klicken Sie bitte 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 Arbeiter 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 Arbeiter 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 Arbeiter 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 Sitzungsinformationen des Browsers, wie z. B. Cookies, localStorage-Werte, Browser-Fingerabdruck, und übermitteln sie zurück an Ihre App. Jetzt müssen Sie nur noch diese Daten verwenden, um die Arbeitssitzung wiederherzustellen und so fortzufahren, als wäre es ein menschlicher Benutzer. Wie cool ist das denn? :)

Was sind AntiGate Vorlagen?

Eine AntiGate-Vorlage definiert ein genaues Szenario, das unsere Arbeiter 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 Arbeiters erscheint (oder verschwindet).
Das "description for workers" Textfeld der Vorlage kann weitere Schritte beschreiben, die Sie vom Arbeiter erwarten, wie: "Captcha lösen und Eingabe drücken".
Schauen wir uns ein Beispiel an. Navigieren Sie zum Developer-Center und erstellen Sie eine kostenlose Test-Vorlage. Keine Angst, Sie können 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 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 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" und "Passwort". Diese 2 werden in den Schritten 1 und 2 verwendet, um das Anmeldeformular für die Demonstration auszufüllen. So 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
  • . Hier können Sie die Reihenfolge der Szenario-Schritte 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 "#Passwort". Der Wert für das Textfeld wird durch die Variable "Passwort" definiert.
    3. Warten Sie, bis ein Kontrolltext auf der Seite erscheint. Er ist dauerhaft auf den Wert "Test mit Login bestanden" 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 Arbeiters 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 in Kraft tritt, füllen Sie die Variablen "Login" und "Passwort" mit zufälligen Werten aus und drücken Sie die Schaltfläche "Test starten". Hierbei 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 Arbeiter ü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 Arbeiter ü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 "Anmelde-" 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 der Lösung verbracht.
Die endgültigen Kosten betragen $0,00266 = 0,002 + (0,002 / 60 * 20) .