Captcha in JAVA umgehen

Captcha in JAVA umgehen

Implementierung einer Java-Bibliothek zur schnellen Umgehung der Captcha-Prüfung. Einfache API, um Captchas zu lösen.

Java-Paket zur einfachen Integration mit der API des 2Captcha Captcha-Lösungsdienstes, um reCAPTCHA zu umgehen, Arkose captcha, Geetest und beliebige andere Captchas zu lösen

Schnellstart

Installation

Das Skriptpaket kann mit dem Paketinstallationsprogramm oder manuell installiert werden

Zentrales Maven-Repository

Das Artefakt 2captcha-java ist verfügbar in Maven Central

Wir laden Sie ein, unser Repositorium GitHub zu erkunden, in dem Sie Bibliotheken und Module für die einfache Integration mit unserer API finden können.

Konfiguration

Beschreibung aller notwendigen Parameter zur Konfiguration des installierten Pakets

Eine Instanz der Klasse TwoCaptcha kann wie folgt erstellt werden:

TwoCaptcha solver = new TwoCaptcha('YOUR_API_KEY');

Sie haben auch die Möglichkeit, einige der Optionen für die erstellte Instanz anzupassen:

solver.setSoftId(123);
solver.setCallback("https://your.site/result-receiver");
solver.setDefaultTimeout(120);
solver.setRecaptchaTimeout(600);
solver.setPollingInterval(10);
Optionen für die TwoCaptcha-Instanz
OptionStandardwertBeschreibung
softId-Ihre Software-ID, die Sie nach der Veröffentlichung im 2Captcha Softwarekatalog erhalten
callback-Die URL Ihres Web-Servers, der das Captcha-Erkennungsergebnis empfängt. Die URL sollte zuerst in den Pingback-Einstellungen Ihres Kontos registriert werden.
defaultTimeout120Abfragezeitlimit in Sekunden für alle Captcha-Typen außer reCAPTCHA. Definiert, wie lange das Modul versucht, die Antwort vom res.php API-Endpunkt zu erhalten.
recaptchaTimeout600Abfragezeitlimit in Sekunden für alle Captcha-Typen. Definiert, wie lange das Modul versucht, die Antwort vom res.php API-Endpunkt zu erhalten.
pollingInterval10Intervall in Sekunden zwischen Anfragen an den res.php API-Endpunkt, Werte unter 5 Sekunden werden nicht empfohlen
WICHTIG: Sobald Callback für die Instanz TwoCaptcha definiert ist, geben alle Methoden nur die Captcha-ID zurück und fragen NICHT die API ab, um das Ergebnis zu erhalten. Das Ergebnis wird an die Callback-URL gesendet. Um die Antwort manuell zu erhalten, verwenden Sie die getResult-Methode

Captcha lösen

Wenn Sie ein bildbasiertes Captcha einreichen, können Sie zusätzliche Optionen angeben, um 2Captcha Mitarbeitern zu helfen, es richtig zu lösen

Captcha-Optionen
OptionStandardwertBeschreibung
numeric0Legt fest, ob Captcha numerische oder andere Symbole enthält Weitere Informationen in den API-Dokumenten
minLength0Minimale Länge der Antwort
maxLength0maximale Länge der Antwort
phrase0definiert, ob die Antwort mehrere Wörter enthält oder nicht
caseSensitive0definiert, ob bei der Antwort Groß- und Kleinschreibung zu beachten ist
calc0definiert die Berechnung von Captcha
lang-definiert die Captcha-Sprache, siehe die Liste der unterstützten Sprachen
hintImg-ein Bild mit Hinweis, das den Mitarbeitern mit dem Captcha angezeigt wird
hintText-Hinweis oder Aufgabentext, der den Mitarbeitern mit dem Captcha angezeigt wird

Einfaches Beispiel

Das folgende Beispiel zeigt einen einfachen Solver-Aufruf mit Fehlerbehandlung.

Normal captcha = new Normal();
captcha.setFile("path/to/captcha.jpg");
captcha.setMinLen(4);
captcha.setMaxLen(20);
captcha.setCaseSensitive(true);
captcha.setLang("en");

try {
    solver.solve(captcha);
    System.out.println("Captcha solved: " + captcha.getCode());
} catch (Exception e) {
    System.out.println("Error occurred: " + e.getMessage());
}
simpleCaptcha

Um ein normales Captcha (verzerrter Text auf dem Bild) zu umgehen, verwenden Sie die folgende Methode. Diese Methode kann auch verwendet werden, um einen beliebigen Text auf dem Bild zu erkennen.

Normal captcha = new Normal();
captcha.setFile("path/to/captcha.jpg");
captcha.setNumeric(4);
captcha.setMinLen(4);
captcha.setMaxLen(20);
captcha.setPhrase(true);
captcha.setCaseSensitive(true);
captcha.setCalc(false);
captcha.setLang("en");
captcha.setHintImg(new File("path/to/hint.jpg"));
captcha.setHintText("Type red symbols only");
textCaptcha

Diese Methode kann verwendet werden, um ein Captcha zu umgehen, das die Beantwortung einer Frage im Klartext verlangt.

Text captcha = new Text();
captcha.setText("If tomorrow is Saturday, what day is today?");
captcha.setLang("en");
recaptchaV2

Verwenden Sie diese Methode, um reCAPTCHA V2 zu lösen und ein Token zur Umgehung des Schutzes zu erhalten.

ReCaptcha captcha = new ReCaptcha();
captcha.setSiteKey("6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-");
captcha.setUrl("https://mysite.com/page/with/recaptcha");
captcha.setInvisible(true);
captcha.setAction("verify");
captcha.setProxy("HTTPS", "login:password@IP_address:PORT");
recaptchaV3

Diese Methode stellt den reCAPTCHA V3-Löser bereit und gibt ein Token zurück.

ReCaptcha captcha = new ReCaptcha();
captcha.setSiteKey("6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-");
captcha.setUrl("https://mysite.com/page/with/recaptcha");
captcha.setVersion("v3");
captcha.setAction("verify");
captcha.setScore(0.3);
captcha.setProxy("HTTPS", "login:password@IP_address:PORT");
FunCaptcha

FunCaptcha (Arkoselabs) Lösungsmethode. Gibt ein Token zurück.

GeeTest

Methode zum Lösen des GeeTest-Puzzle-Captcha. Gibt eine Reihe von Token als JSON zurück.

KeyCaptcha

Token-basierte Methode zur Lösung von KeyCaptcha.

Capy

Token-basierte Methode zur Umgehung des Capy Puzzle-Captcha.

grid

Die Grid-Methode wird ursprünglich als Old reCAPTCHA V2 Methode bezeichnet. Die Methode kann verwendet werden, um jede Art von Captcha zu umgehen, bei der Sie ein Gitter auf ein Bild anwenden können und bestimmte Gitterfelder anklicken müssen. Gibt die Anzahl der Felder zurück.

Grid captcha = new Grid();
captcha.setFile("path/to/captcha.jpg");
captcha.setRows(3);
captcha.setCols(3);
captcha.setPreviousId(0);
captcha.setCanSkip(false);
captcha.setLang("en");
captcha.setHintImg(new File("path/to/hint.jpg"));
captcha.setHintText("Select all images with an Orange");
Canvas

Die Methode Canvas kann verwendet werden, wenn Sie eine Linie um ein Objekt auf einem Bild zeichnen müssen. Gibt einen Satz von Punktkoordinaten zurück, um ein Polygon zu zeichnen.

ClickCaptcha

Die ClickCaptcha-Methode gibt die Koordinaten von Punkten auf dem Captcha-Bild zurück. Kann verwendet werden, wenn Sie auf bestimmte Punkte des Bildes klicken müssen.

rotateCaptcha

Diese Methode kann verwendet werden, um ein Captcha zu lösen, bei dem ein Objekt gedreht werden muss. Meistens verwendet, um FunCaptcha zu umgehen. Gibt den Rotationswinkel zurück.

Rotate captcha = new Rotate();
captcha.setFile("path/to/captcha.jpg");
captcha.setAngle(40);
captcha.setLang("en");
captcha.setHintImg(new File("path/to/hint.jpg"));
captcha.setHintText("Put the images in the correct way up");

Sonstige Methoden

Zusätzliche gültige Methoden, die bei der Arbeit an den Hauptskripten verwendet werden

send / getResult

Diese Methoden können für die manuelle Captcha-Eingabe und die Abfrage von Antworten verwendet werden.

String captchaId = solver.send(captcha);

Thread.sleep(20 * 1000);

String code = solver.getResult(captchaId);

balance

Verwenden Sie diese Methode, um das Guthaben Ihres Kontos abzurufen.

double balance = solver.balance();

report

Verwenden Sie diese Methode, um positive oder negative Captcha-Antworten zu melden.

solver.report(captcha.getId(), true); // captcha solved correctly
solver.report(captcha.getId(), false); // captcha solved incorrectly

Fehlerbehandlung

Mögliche Varianten von Standardfehlern, die der Dienst bei der Bearbeitung von Anfragen zurückgibt

Im Falle eines Fehlers wirft der Captcha Solver eine Ausnahme. Es ist wichtig, diese Fälle richtig zu behandeln. Wir empfehlen, try/catch zu verwenden, um Ausnahmen zu behandeln.

try {
    solver.solve(captcha);
} catch (ValidationException e) {
    // invalid parameters passed
} catch (NetworkException e) {
    // network error occurred
} catch (ApiException e) {
    // api respond with error
} catch (TimeoutException e) {
    // captcha is not solved so far
}

Andere Sprachen für die Integration mit der Dienst-API

Produkte

  • Captcha-Löser
  • Wohnsitz-Proxies
  • Dataset-Annotation
Logo von «2Captcha»Zur Startseite

Das Kopieren von Teilen dieser Website ohne die ausdrückliche Genehmigung des Eigentümers der Website ist illegal.

  • «GDPR» logo
  • «SSL secured» logo
  • «Google privacy policy» logo
  • «S/MIME» logo
  • «CCPA» logo
#1
Im Überwachungsdienst-Ranking«CaptchaTheCat» Logo
Verbinden Sie sich mit uns
  • «2Captcha» auf GitHub
  • «2Captcha» auf LinkedIn
  • «2Captcha» auf X
  • YouTube-Kanal von 2Captcha