API-Dokumentation

Referenz für verfügbare Endpunkte, Anfrageformate, Parameter und Beispielantworten zur Integration der API in Ihre Anwendungen.

Diese Dokumentation richtet sich an Entwickler, die CapSkip direkt in ihre eigenen Skripte, Anwendungen oder Automatisierungssysteme integrieren möchten. Nutzer von Drittanbieter-Software sollten für Einrichtungsanweisungen dem Abschnitt Tutorials folgen.

CapSkip emuliert die APIs weit verbreiteter Captcha-Löse-Dienste und kann sich so mit kompatibler Software von Drittanbietern verbinden, ohne dass Änderungen erforderlich sind. Die Integration erfordert in der Regel nur, dass CapSkip läuft.

Die Dokumentation erklärt, wie Sie Anfragen senden und Ergebnisse abrufen. CapSkip unterstützt mehrere API-Familien, darunter die API im 2Captcha-Stil (in.php / res.php), die JSON-API createTask / getTaskResult, die von AntiCaptcha, CapMonster und CapSolver verwendet wird, sowie die DeathByCaptcha-REST-API. Dienste innerhalb derselben Familie teilen sich dieselben Endpunkte sowie dasselbe Anfrage- und Antwortformat. Nur die Basis-URL (Host und Port) unterscheidet sich je nach Dienst.

API-FamilieDienste
2captcha-Stil2captcha.com, rucaptcha.com, solvecaptcha.com, captchas.io
JSON (createTask / getTaskResult)anti-captcha.com, capmonster.cloud, capsolver.com
DeathByCaptchadeathbycaptcha.com

Bild-Captcha

Ein normales Captcha ist ein Bild, das verzerrten, aber für Menschen lesbaren Text enthält. Um es zu lösen, muss der Nutzer den im Bild gezeigten Text eintippen.

Um ein normales Captcha zu lösen, übermitteln Sie das Bild per HTTP-POST-Anfrage an den API-Endpunkt. Senden Sie die Anfrage direkt an Ihre CapSkip-Instanz unter Verwendung der konfigurierten lokalen Adresse und des Ports, zum Beispiel: http://127.0.0.1:PORT/in.php

CapSkip akzeptiert Bilder im Format multipart/form-data oder Base64-kodiert.

Multipart-Beispielformular

<form method="post" action="http://127.0.0.1:PORT/in.php" enctype="multipart/form-data">
<input type="hidden" name="method" value="post">
Your key:
<input type="text" name="key" value="YOUR_APIKEY">
The CAPTCHA file:
<input type="file" name="file">
<input type="submit" value="Upload and get the ID">
</form>

YOUR_APIKEY steht für Ihren API-Key, wenn die API-Key-Validierung in CapSkip aktiviert ist. Wenn die API-Key-Validierung deaktiviert ist, wird jeder Zeichenfolgenwert akzeptiert.

Base64-Beispielformular

<form method="post" action="http://127.0.0.1:PORT/in.php">
<input type="hidden" name="method" value="base64">
Your key:
<input type="text" name="key" value="YOUR_APIKEY">
The CAPTCHA file body in base64 format:
<textarea name="body">BASE64_FILE</textarea>
<input type="submit" value="Upload and get the ID">
</form>

YOUR_APIKEY steht für Ihren API-Key, wenn die API-Key-Validierung in CapSkip aktiviert ist. Wenn die API-Key-Validierung deaktiviert ist, wird jeder Zeichenfolgenwert akzeptiert.

BASE64_FILE sind die Base64-codierten Bilddaten.

Liste der POST-Request-Parameter
POST-ParameterTypErforderlichBeschreibung
keyStringJa Ihr CapSkip-API-Schlüssel.
methodStringJa post – das Bild mit multipart/form-data übermitteln
base64 – senden Sie das Bild als Base64-kodierte Zeichenkette
fileDateiJa* Captcha-Bilddatei.
* Erforderlich, wenn method=post.
bodyStringJa* Base64-kodierte Captcha-Bilddaten.
* Erforderlich, wenn method=base64.
jsonInteger
Standard: 0
Nein 0 – Antwort wird als Klartext zurückgegeben
1 – Antwort wird im JSON-Format zurückgegeben

Captcha absenden (Multipart-Datei-Upload):

curl -X POST -F "key=YOUR_API_KEY" -F "method=post" -F "[email protected]" http://127.0.0.1:8080/in.php

Captcha absenden (Base64-kodiert):

curl -X POST -d "key=YOUR_API_KEY&method=base64&body=BASE64_IMAGE_DATA" http://127.0.0.1:8080/in.php

Nach dem Absenden der Anfrage gibt CapSkip, wenn alles korrekt ist, die Captcha-ID als Klartext zurück: OK|12345

Wenn der json=1 Parameter verwendet wird, wird die Antwort im JSON-Format zurückgegeben:

{
"status":1,
"request":"12345"
}

Warten Sie 1 Sekunde und senden Sie dann eine HTTP-GET-Anfrage an den Ergebnis-Endpunkt (/res.php) mit der zurückgegebenen Captcha-ID.

Wenn das Captcha gelöst wurde, gibt CapSkip das Ergebnis als Klartext zurück: OK|TEXT

Wenn json=1 angegeben wurde, lautet die Antwort:

{
"status":1,
"request":"TEXT"
}

Wenn das Captcha noch nicht gelöst ist, gibt CapSkip zurück: CAPCHA_NOT_READY

In diesem Fall warten Sie 1 Sekunde und wiederholen die Anfrage, bis ein Endergebnis eingeht. Wenn CapSkip einen leeren Antworttext zurückgibt, wurde das Ergebnis bereits abgerufen oder die ID existiert nicht. Jedes Ergebnis kann nur einmal gelesen werden.

Liste der GET-Anfrageparameter
GET-ParameterTypErforderlichBeschreibung
keyStringJa Ihr CapSkip-API-Schlüssel.
actionStringJa get – ruft die Antwort für das übermittelte Captcha ab.
idIntegerJa Die Captcha-ID, zurückgegeben von in.php.
jsonInteger
Standard: 0
Nein 0 – Antwort wird als Klartext zurückgegeben
1 – Antwort wird im JSON-Format zurückgegeben
curl "http://127.0.0.1:8080/res.php?key=YOUR_API_KEY&action=get&id=CAPTCHA_ID"

recaptcha v2 solver  reCAPTCHA V2

reCAPTCHA v2, auch bekannt als das “I'm not a robot”-reCAPTCHA, ist ein weit verbreiteter Captcha-Typ, der wie folgt erscheint:
recaptcha v2

Um reCAPTCHA v2 zu lösen, senden Sie den googlekey und pageurl Parameter zusammen mit method=userrecaptcha und Ihr CapSkip API-Key.

Sie können den googlekey mit einer der folgenden Methoden:

Klicken Sie mit der rechten Maustaste auf das reCAPTCHA-Widget und wählen Sie Untersuchen. Suchen Sie eine URL, die beginnt mit:

www.google.com/recaptcha/api2/anchor

Kopieren Sie den Wert des k -Parameter aus dieser URL. Alternativ finden Sie den data-sitekey Attribut im Seitenquelltext und kopieren Sie seinen Wert.

CapSkip sitekey

Sobald Sie den Site-Key haben, senden Sie eine HTTP-GET- oder POST-Anfrage an http://127.0.0.1:PORT/in.php

Liste der POST-Request-Parameter
ParameterTypErforderlichBeschreibung
keyStringJa Ihr CapSkip-API-Schlüssel.
methodStringJa userrecaptcha – gibt eine reCAPTCHA-v2-Anfrage an.
googlekeyStringJa Der Wert des k oder data-sitekey Parameter, der auf der Ziel-Seite gefunden wird.
pageurlStringJa Die vollständige URL der Seite, auf der sich das reCAPTCHA befindet.
enterpriseInteger
Standard: 0
Nein 1 – steht für reCAPTCHA Enterprise v2.
0 – Standard-reCAPTCHA-v2.
invisibleInteger
Standard: 0
Nein 1 – weist auf Invisible reCAPTCHA hin.
0 – standardmäßiges Checkbox-reCAPTCHA.
data-sStringNein Wert des data-s Parameter, der auf der Seite gefunden wird. Anwendbar auf Google Search und bestimmte Google-Dienste.
jsonInteger
Standard: 0
Nein 0 – Antwort wird als reiner Text zurückgegeben.
1 – die Antwort wird im JSON-Format zurückgegeben.
proxyStringNeinProxy-Adresse. Format für die IP-Authentifizierung: IP:PORT (Beispiel: 123.123.123.123:3128). Format für die Anmeldung mit Login/Passwort: login:password@IP:PORT
proxytypeStringNeinArt des Proxys. Unterstützte Werte: HTTP, HTTPS, SOCKS5, SOCKS5H. Standard: HTTP wenn proxy wird bereitgestellt, aber proxytype weggelassen wird.

reCAPTCHA v2 absenden (Standard):

curl -X POST -d "key=YOUR_API_KEY&method=userrecaptcha&googlekey=6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-&pageurl=https://example.com" http://127.0.0.1:8080/in.php

reCAPTCHA v2 (Invisible) übermitteln:

curl -X POST -d "key=YOUR_API_KEY&method=userrecaptcha&googlekey=6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-&pageurl=https://example.com&invisible=1" http://127.0.0.1:8080/in.php

Enterprise reCAPTCHA v2 übermitteln:

curl -X POST -d "key=YOUR_API_KEY&method=userrecaptcha&googlekey=6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-&pageurl=https://example.com&enterprise=1" http://127.0.0.1:8080/in.php

Enterprise reCAPTCHA v2 (Invisible) absenden:

curl -X POST -d "key=YOUR_API_KEY&method=userrecaptcha&googlekey=6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-&pageurl=https://example.com&enterprise=1&invisible=1" http://127.0.0.1:8080/in.php

Wenn die Anfrage erfolgreich ist, gibt CapSkip die Captcha-ID als reinen Text zurück: OK|12345

Wenn der json=1 Parameter verwendet wurde, wird die Antwort im JSON-Format zurückgegeben:

{
"status":1,
"request":"12345"
}

Wenn die Anfrage fehlschlägt, gibt CapSkip einen Fehlercode zurück.

Warten Sie 15 bis 20 Sekunden und senden Sie dann eine HTTP-GET-Anfrage an den Ergebnis-Endpunkt, um die Lösung abzurufen: http://127.0.0.1:PORT/res.php

Liste der GET-Anfrageparameter
GET-ParameterTypErforderlichBeschreibung
keyStringJa Ihr CapSkip-API-Schlüssel.
actionStringJa get – ruft die Antwort für das übermittelte Captcha ab.
idIntegerJa Die Captcha-ID, zurückgegeben von in.php.
jsonInteger
Standard: 0
Nein 0 – Antwort wird als Klartext zurückgegeben
1 – Antwort wird im JSON-Format zurückgegeben
curl "http://127.0.0.1:8080/res.php?key=YOUR_API_KEY&action=get&id=CAPTCHA_ID"

Wenn das Captcha gelöst wurde, antwortet CapSkip als Klartext oder JSON und gibt den Antwort-Token zurück. Der Token sieht in etwa so aus:

03AHJ_Vuve5Asa4koK3KSMyUkCq0vUFCR5Im4CwB7PzO3dCxIo11i53epEraq-uBO5mVm2XRikL8iKOWr0aG50sCuej9bXx5qcviUGSm4iK4NC_Q88flavWhaTXSh0VxoihBwBjXxwXuJZ-WGN5Sy4dtUl2wbpMqAj8Zwup1vyCaQJWFvRjYGWJ_TQBKTXNB5CCOgncqLetmJ6B6Cos7qoQyaB8ZzBOTGf5KSP6e-K9niYs772f53Oof6aJeSUDNjiKG9gN3FTrdwKwdnAwEYX-F37sI_vLB1Zs8NQo0PObHYy0b0sf7WSLkzzcIgW9GR0FwcCCm1P8lB-50GQHPEBJUHNnhJyDzwRoRAkVzrf7UkV8wKCdTwrrWqiYDgbrzURfHc2ESsp020MicJTasSiXmNRgryt-gf50q5BMkiRH7osm4DoUgsjc_XyQiEmQmxl5sqZP7aKsaE-EM00x59XsPzD3m3YI6SRCFRUevSyumBd7KmXE8VuzIO9lgnnbka4-eZynZa6vbB9cO3QjLH0xSG3-egcplD1uLGh79wC34RF49Ui3eHwua4S9XHpH6YBe7gXzz6_mv-o-fxrOuphwfrtwvvi2FGfpTexWvxhqWICMFTTjFBCEGEgj7_IFWEKirXW2RTZCVF0Gid7EtIsoEeZkPbrcUISGmgtiJkJ_KojuKwImF0G0CsTlxYTOU2sPsd5o1JDt65wGniQR2IZufnPbbK76Yh_KI2DY4cUxMfcb2fAXcFMc9dcpHg6f9wBXhUtFYTu6pi5LhhGuhpkiGcv6vWYNxMrpWJW_pV7q8mPilwkAP-zw5MJxkgijl2wDMpM-UUQ_k37FVtf-ndbQAIPG7S469doZMmb5IZYgvcB4ojqCW3Vz6Q

Wenn das Captcha noch nicht gelöst ist, gibt CapSkip zurück CAPCHA_NOT_READY. Warten Sie in diesem Fall 5 Sekunden und wiederholen Sie die Anfrage. Wenn CapSkip einen leeren Response-Body zurückgibt, wurde das Ergebnis bereits abgerufen oder die ID existiert nicht. Jedes Ergebnis kann nur einmal gelesen werden.

Lokalisieren Sie das Element mit der ID g-recaptcha-response und machen Sie es sichtbar, indem Sie das display: none style.

g recaptcha response CapSkip

Bitte beachten Sie: In manchen Fällen wird der Seiteninhalt dynamisch generiert, und der g-recaptcha-response element may not appear in the static HTML source. In such situations, inspect the page structure using your browser’s developer tools to locate the dynamically generated element.


Alternativ können Sie JavaScript verwenden, um den Wert des g-recaptcha-response Feld direkt:

document.getElementById("g-recaptcha-response").innerHTML="TOKEN";

Auf der Seite erscheint ein Eingabefeld. Fügen Sie den Antwort-Token in dieses Feld ein und senden Sie das Formular ab.

recaptcha v2 solver  reCAPTCHA V2 Callback

In manchen Fällen gibt es keinen Submit-Button und stattdessen wird eine Callback-Funktion verwendet. Die Callback-Funktion wird automatisch ausgeführt, wenn reCAPTCHA gelöst ist.

Die Liste der POST- und GET-Anfrageparameter ist hier verfügbar: reCAPTCHA V2 POST- und GET-Anfrageparameter

Die Callback-Funktion ist typischerweise definiert im data-callback -Attribut des reCAPTCHA-Widgets, zum Beispiel:

data-callback="myCallbackFunction"

In anderen Fällen ist die Callback-Funktion definiert als das callback Parameter des grecaptcha.render() Funktion, zum Beispiel:

grecaptcha.render('example', {
'sitekey' : 'someSitekey',
'callback' : myCallbackFunction,
'theme' : 'dark'
});

Eine weitere Möglichkeit, die Callback-Funktion zu finden, besteht darin, die JavaScript-Konsole des Browsers zu öffnen und das reCAPTCHA-Konfigurationsobjekt zu untersuchen:

___grecaptcha_cfg.clients[0].aa.l.callback

Beachten Sie, dass die aa.l Eigenschaft kann variieren, und es kann mehrere reCAPTCHA-Clients auf der Seite geben. In solchen Fällen sollten Sie zusätzlich prüfen clients[1], clients[2], und anderen Einträgen, um das richtige Konfigurationsobjekt zu finden.

Alternativ können Sie das folgende Skript verwenden, um reCAPTCHA-Parameter automatisch zu extrahieren:

function findRecaptchaClients() {
if (typeof (___grecaptcha_cfg) !== 'undefined') {
return Object.entries(___grecaptcha_cfg.clients).map(([cid, client]) => {
const data = { id: cid, version: cid >= 10000 ? 'V3' : 'V2' };
const objects = Object.entries(client).filter(([_, value]) => value && typeof value === 'object');objects.forEach(([toplevelKey, toplevel]) => {
const found = Object.entries(toplevel).find(([_, value]) => (
value && typeof value === 'object' && 'sitekey' in value && 'size' in value
));
if (typeof toplevel === 'object' && toplevel instanceof HTMLElement && toplevel['tagName'] === 'DIV'){
data.pageurl = toplevel.baseURI;
}
if (found) {
const [sublevelKey, sublevel] = found;data.sitekey = sublevel.sitekey;
const callbackKey = data.version === 'V2' ? 'callback' : 'promise-callback';
const callback = sublevel[callbackKey];
if (!callback) {
data.callback = null;
data.function = null;
} else {
data.function = callback;
const keys = [cid, toplevelKey, sublevelKey, callbackKey].map((key) => `['${key}']`).join('');
data.callback = `___grecaptcha_cfg.clients${keys}`;
}
}
});
return data;
});
}
return [];
}

Rufen Sie abschließend die Callback-Funktion auf:

myCallbackFunction();

Oder alternativ:

___grecaptcha_cfg.clients[0].aa.l.callback();

In manchen Fällen benötigt die Callback-Funktion ein Argument. In den meisten Situationen sollten Sie den gelösten Token als dieses Argument übergeben. Zum Beispiel:

myCallbackFunction('TOKEN');

recaptcha v2 solver  reCAPTCHA V2 Invisible

reCAPTCHA v2 hat auch einen Invisible-Modus. Ein Beispiel dazu sehen Sie hier:

https://www.google.com/recaptcha/api2/demo?invisible=true

Invisible reCAPTCHA zeigt das Kontrollkästchen “I'm not a robot” nicht an. Stattdessen ist es typischerweise an eine Schaltfläche gebunden oder wird automatisch beim Laden der Seite oder bei einer Nutzerinteraktion ausgelöst, etwa beim Klicken einer Schaltfläche oder beim Absenden eines Formulars.

Intern wird das Invisible-reCAPTCHA-Widget in einem versteckten <div> Element, das außerhalb des sichtbaren Viewports positioniert ist, wodurch es für den Nutzer unsichtbar wird.

Abhängig von den Cookies und der Risikobewertung des Nutzers kann reCAPTCHA automatisch bestehen, ohne eine Herausforderung anzuzeigen. Andernfalls erscheint eine standardmäßige Bildherausforderung.

In den meisten Fällen wird, sobald die Challenge abgeschlossen ist, eine Callback-Funktion ausgeführt. Weitere Einzelheiten finden Sie im Callback-Abschnitt oben.

Die Liste der POST- und GET-Anfrageparameter ist hier verfügbar: reCAPTCHA V2 POST- und GET-Anfrageparameter

So stellen Sie fest, ob reCAPTCHA unsichtbar ist

Sie können Invisible reCAPTCHA anhand eines der folgenden Anzeichen erkennen:

  • Die „I'm not a robot“-Checkbox ist nicht sichtbar, aber nach einer Nutzerinteraktion erscheint eine Challenge.

  • Die reCAPTCHA-iframe-URL enthält den Parameter size=invisible.

  • Das reCAPTCHA-Konfigurationsobjekt enthält ein size Eigenschaft gesetzt auf invisible, zum Beispiel:
    ___grecaptcha_cfg.clients[0].aa.l.size === "invisible"

Wenn Sie Invisible reCAPTCHA über die API lösen, fügen Sie den Parameter hinzu: invisible=1

Wie gehen Sie mit Invisible reCAPTCHA im Browser um?
Methode 1: JavaScript verwenden

Setzen Sie den Wert des g-recaptcha-response -Feld auf das von CapSkip zurückgegebene Token:

document.getElementById("g-recaptcha-response").innerHTML="TOKEN";

Führen Sie nach dem Setzen des Tokens die Aktion aus, die normalerweise nach erfolgreicher Verifizierung erfolgt.

In den meisten Fällen bedeutet das, ein Formular abzusenden. Sie müssen das korrekte Formular anhand seines id, name, oder ein anderes Attribut, und lösen Sie dann die Übermittlung aus. Hier sind einige Beispiele:

document.getElementById("recaptcha-demo-form").submit(); //by id "recaptcha-demo-form"
document.getElementsByName("myFormName")[0].submit(); //by element name "myFormName"
document.getElementsByClassName("example").submit(); //by class name "example"

In manchen Fällen wird automatisch eine Callback-Funktion ausgeführt, wenn reCAPTCHA gelöst wird.

Die Callback-Funktion ist typischerweise definiert im data-callback -Attribut des reCAPTCHA-Widgets, zum Beispiel:

data-callback="myCallbackFunction"

In anderen Fällen ist die Callback-Funktion definiert als das callback Parameter des grecaptcha.render() Funktion, zum Beispiel:

grecaptcha.render('example', {
'sitekey' : 'someSitekey',
'callback' : myCallbackFunction,
'theme' : 'dark'
});

Sie müssen lediglich diese Funktion aufrufen:

myCallbackFunction();
Methode 2: Das HTML ändern

Entfernen Sie das <div> Element, das das reCAPTCHA-Widget enthält, aus dem Body der Seite.

<div style="visibility: hidden; position: absolute; width:100%; top: -10000px; left: 0px; right: 0px; transition: visibility 0s linear 0.3s, opacity 0.3s linear; opacity: 0;">
<div style="width: 100%; height: 100%; position: fixed; top: 0px; left: 0px; z-index: 2000000000; background-color: #fff; opacity: 0.5;  filter: alpha(opacity=50)"></div>
<div style="margin: 0 auto; top: 0px; left: 0px; right: 0px; position: absolute; border: 1px solid #ccc; z-index: 2000000000; background-color: #fff; overflow: hidden;">
<iframe src="https://www.google.com/recaptcha/api2/bframe?hl=en&v=r20170213115309&k=6LfP0CITAAAAAHq9FOgCo7v_fb0-pmmH9VW3ziFs#zglq3yifgkmj"
title="recaptcha challenge"
style="width: 100%; height: 100%;"
scrolling="no"
name="zglq3yifgkmj"
frameborder="0"></iframe>
</div>
</div>

Entfernen Sie den gesamten reCAPTCHA-Block von der Seite.

<div class="">
<!-- BEGIN: ReCAPTCHA implementation example. -->
<div
id="recaptcha-demo"
class="g-recaptcha"
data-sitekey="6LfP0CITAAAAAHq9FOgCo7v_fb0-pmmH9VW3ziFs"
data-callback="onSuccess"
data-bind="recaptcha-demo-submit"
>
<div
class="grecaptcha-badge"
style="width: 256px; height: 60px; transition: right 0.3s ease 0s; position: fixed; bottom: 14px; right: -186px; box-shadow: 0px 0px 5px gray;"
>
<div class="grecaptcha-logo">
<iframe
src="https://www.google.com/recaptcha/api2/anchor?k=6LfP0CITAAAAAHq9FOgCo7v_fb0-pmmH9VW3ziFs&co=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbTo0NDM.&hl=en&v=r20170213115309&size=invisible&cb=uror1hlow5a"
title="recaptcha widget"
scrolling="no"
name="undefined"
width="256"
height="60"
frameborder="0"
></iframe>
</div>
<div class="grecaptcha-error"></div>
<textarea
id="g-recaptcha-response"
name="g-recaptcha-response"
class="g-recaptcha-response"
style="width: 250px; height: 40px; border: 1px solid #c1c1c1; margin: 10px 25px; padding: 0px; resize: none;  display: none; "
></textarea>
</div>
</div>
<script>
var onSuccess = function (response) {
var errorDivs = document.getElementsByClassName('recaptcha-error');
if (errorDivs.length) {
errorDivs[0].className = '';
}
var errorMsgs = document.getElementsByClassName('recaptcha-error-message');
if (errorMsgs.length) {
errorMsgs[0].parentNode.removeChild(errorMsgs[0]);
}
document.getElementById('recaptcha-demo-form').submit();
};
</script>
<!-- Optional noscript fallback. --><!-- END: ReCAPTCHA implementation example. -->
</div>

Fügen Sie den folgenden Code anstelle des entfernten Blocks ein:

<input type="submit" /> <textarea name="g-recaptcha-response">%g-recaptcha-response%</textarea>

%g-recaptcha-response% steht für den von CapSkip erhaltenen Antwort-Token.

Nachdem Sie den Block ersetzt haben, erscheint eine Schaltfläche “Submit query”. Klicken Sie auf die Schaltfläche, um das Formular zusammen mit dem g-recaptcha-response Wert und alle anderen erforderlichen Formulardaten an die Website.

recaptcha v2 solver  reCAPTCHA V3

reCAPTCHA v3 ist ein moderner Captcha-Mechanismus, der von Google entwickelt wurde. Es zeigt keine sichtbare Challenge und erfordert keine Nutzerinteraktion. Stattdessen vergibt es einen Score basierend auf der Wahrscheinlichkeit, dass die Interaktion menschlich ist.

Technisch gesehen ähnelt reCAPTCHA v3 dem reCAPTCHA v2. Die Website erhält einen Token von der reCAPTCHA-API, der dann in einer POST-Anfrage an den Zielserver gesendet und über die reCAPTCHA-API verifiziert wird.

Der entscheidende Unterschied ist, dass reCAPTCHA v3 keine sichtbare Challenge anzeigt. Stattdessen gibt es eine Bewertung zurück, die einschätzt, ob der Nutzer ein Mensch oder ein Bot ist. Diese Bewertung wird als score und reicht von 0.0 bis 1.0. Der Score wird an die Website gesendet, die dann anhand dieses Werts entscheidet, wie sie mit der Anfrage umgeht.

Es gibt außerdem einen zusätzlichen Parameter namens action, was es der Website ermöglicht, zwischen verschiedenen Benutzerinteraktionen zu unterscheiden. Nach der Verifizierung des Tokens gibt die reCAPTCHA-API den mit der Anfrage verknüpften Action-Namen zurück.

Wie löst man reCAPTCHA v3 mit CapSkip?

Bestätigen Sie zunächst, dass die Zielwebsite reCAPTCHA v3 verwendet.

Zu den Anzeichen für reCAPTCHA v3 gehören:

  • Keine sichtbaren Captchas oder Bild-Challenges

  • The api.js Skript wird geladen mit einem render=SITEKEY Parameter, zum Beispiel:
    https://www.google.com/recaptcha/api.js?render=SITEKEY

  • The ___grecaptcha_cfg.clients Array enthält einen Eintrag mit einem hohen numerischen Index, wie etwa clients[100000]

Um reCAPTCHA v3 zu lösen, ermitteln Sie die folgenden Parameter:

  1. sitekey
    Dies finden Sie in der render Parameter des api.js Skript-URL. Sie kann auch in einer iframe-URL erscheinen, innerhalb von JavaScript-Code mit einem Aufruf von grecaptcha.execute(), oder innerhalb des ___grecaptcha_cfg Konfigurationsobjekt.
  2. action
    Lokalisieren Sie dies, indem Sie den JavaScript-Code auf Aufrufe von grecaptcha.execute(), zum Beispiel:
    grecaptcha.execute('SITEKEY', {action: 'do_something'})
    In manchen Fällen erfordert das Auffinden der Action, mehrere von der Seite geladene JavaScript-Dateien zu prüfen. Wenn Sie den Wert der Action nicht ermitteln können, dürfen Sie den Standardwert verwenden "verify".
  3. pageurl
    Die vollständige URL der Seite, auf der reCAPTCHA v3 implementiert ist.
Den Score verstehen

Der akzeptable Score-Schwellenwert variiert je nach Website und kann nur durch Testen ermittelt werden. Die Scores reichen von:

  • 0.0 → wahrscheinlich Bot

  • 1.0 → wahrscheinlich menschlich

Die meisten Websites verwenden Schwellenwerte zwischen 0.3 und 0.7, da selbst legitime Nutzer niedrigere Scores erhalten können.

Sie können Ihren gewünschten Schwellenwert übergeben mit dem min_score Parameter, aber der endgültige Score wird immer von Google zum Zeitpunkt der Verifizierung festgelegt und kann vom Löser nicht garantiert werden.

Liste der POST-Request-Parameter
ParameterTypErforderlichBeschreibung
keyStringJa Ihr CapSkip-API-Schlüssel.
methodStringJa userrecaptcha – gibt eine reCAPTCHA-Anfrage an.
versionStringJa v3 – gibt an, dass die Anfrage für reCAPTCHA v3 ist.
googlekeyStringJa Der Wert des data-sitekey Parameter, der auf der Ziel-Seite gefunden wird.
pageurlStringJa Die vollständige URL der Seite, auf der sich das reCAPTCHA befindet.
enterpriseInteger
Standard: 0
Nein 1 – kennzeichnet reCAPTCHA Enterprise v3.
0 – Standard-reCAPTCHA v3.
actionString
Standard: verify
Nein Der Wert des action -Parameter, der auf der Seite definiert ist.
min_scoreFloatNein Angeforderter Mindest-Score für das Token. Google vergibt den endgültigen Score, wenn Ihr Server das Token verifiziert, daher ist dieser Wert ein Hinweis und nicht garantiert. CapSkip liefert das erhaltene Token unabhängig von dem Score zurück, den Google später vergibt.
jsonInteger
Standard: 0
Nein 0 – Antwort wird als reiner Text zurückgegeben.
1 – die Antwort wird im JSON-Format zurückgegeben.
proxyStringNeinProxy-Adresse. Format für die IP-Authentifizierung: IP:PORT (Beispiel: 123.123.123.123:3128). Format für die Anmeldung mit Login/Passwort: login:password@IP:PORT
proxytypeStringNeinArt des Proxys. Unterstützte Werte: HTTP, HTTPS, SOCKS5, SOCKS5H. Standard: HTTP wenn proxy wird bereitgestellt, aber proxytype weggelassen wird.

reCAPTCHA v3 absenden:

curl -X POST -d "key=YOUR_API_KEY&method=userrecaptcha&version=v3&action=submit&min_score=0.7&googlekey=6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-&pageurl=https://example.com" http://127.0.0.1:8080/in.php

Enterprise reCAPTCHA v3 übermitteln:

curl -X POST -d "key=YOUR_API_KEY&method=userrecaptcha&version=v3&action=submit&min_score=0.7&googlekey=6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-&pageurl=https://example.com&enterprise=1" http://127.0.0.1:8080/in.php

Wenn die Anfrage erfolgreich ist, gibt CapSkip die Captcha-ID als reinen Text zurück: OK|12345

Wenn der json=1 -Parameter angegeben ist, wird die Antwort im JSON-Format zurückgegeben:

{
"status":1,
"request":"12345"
}

Wenn ein Fehler auftritt, gibt CapSkip einen Fehlercode zurück.

Warten Sie 10 bis 15 Sekunden und senden Sie dann eine HTTP-GET-Anfrage an den Ergebnis-Endpunkt: http://127.0.0.1:PORT/res.php

Geben Sie die zurückgegebene Captcha-ID in Ihrer Anfrage an. Die vollständige Liste der verfügbaren Parameter ist in der Tabelle unten dargestellt.

Wenn das Captcha erfolgreich gelöst wurde, gibt CapSkip das Ergebnis als reinen Text oder im JSON-Format zurück. Der zurückgegebene Wert ist ein Verifizierungs-Token ähnlich dem folgenden:

03AHJ_Vuve5Asa4koK3KSMyUkCq0vUFCR5Im4CwB7PzO3dCxIo11i53epEraq-uBO5mVm2XRikL8iKOWr0aG50sCuej9bXx5qcviUGSm4iK4NC_Q88flavWhaTXSh0VxoihBwBjXxwXuJZ-WGN5Sy4dtUl2wbpMqAj8Zwup1vyCaQJWFvRjYGWJ_TQBKTXNB5CCOgncqLetmJ6B6Cos7qoQyaB8ZzBOTGf5KSP6e-K9niYs772f53Oof6aJeSUDNjiKG9gN3FTrdwKwdnAwEYX-F37sI_vLB1Zs8NQo0PObHYy0b0sf7WSLkzzcIgW9GR0FwcCCm1P8lB--gf50q5BMkiRH7osm4DoUgsjc_XyQiEmQmxl5sqZP7aKsaE-EM00x59XsPzD3m3YI6SRCFRUevSyumBd7KmXE8VuzIO9lgnnbka4-eZynZa6vbB9cO3QjLH0xSG3--o-fxrOuphwfrtwvvi2FGfpTexWvxhqWICMFTTjFBCEGEgj7_IFWEKirXW2RTZCVF0Gid7EtIsoEeZkPbrcUISGmgtiJkJ_KojuKwImF0G0CsTlxYTOU2sPsd5o1JDt65wGniQR2IZufnPbbK76Yh_KI2DY4cUxMfcb2fAXcFMc9dcpHg6f9wBXhUtFYTu6pi5LhhGuhpkiGcv6vWYNxMrpWJW_pV7q8mPilwkAP-zw5MJxkgijl2wDMpM-UUQ_k37FVtf-ndbQAIPG7S469doZMmb5IZYgvcB4ojqCW3Vz6Q

Wenn das Captcha noch nicht gelöst ist, gibt CapSkip zurück CAPCHA_NOT_READY. Warten Sie 5 Sekunden und wiederholen Sie die Anfrage. Wenn CapSkip einen leeren Antworttext zurückgibt, wurde das Ergebnis bereits abgerufen oder die ID existiert nicht. Jedes Ergebnis kann nur einmal gelesen werden.

Liste der GET-Anfrageparameter
GET-ParameterTypErforderlichBeschreibung
keyStringJa Ihr CapSkip-API-Schlüssel.
actionStringJa get – ruft die Antwort für das übermittelte Captcha ab.
idIntegerJa Die Captcha-ID, zurückgegeben von in.php.
jsonInteger
Standard: 0
Nein 0 – Antwort wird als Klartext zurückgegeben
1 – Antwort wird im JSON-Format zurückgegeben
curl "http://127.0.0.1:8080/res.php?key=YOUR_API_KEY&action=get&id=CAPTCHA_ID"

Nachdem Sie den Token von CapSkip erhalten haben, müssen Sie ihn korrekt an die Zielwebsite übermitteln. Am besten verstehen Sie die Funktionsweise, indem Sie die Anfragen beobachten, die beim Abschließen der Verifizierung als normaler Nutzer gesendet werden. Die meisten Browser bieten Entwicklertools mit einem Network Tab, über den Sie ausgehende Anfragen untersuchen können.

In den meisten Fällen wird das Token über eine POST-Anfrage gesendet. Der Parametername kann g-recaptcha-response, ähnlich wie reCAPTCHA v2, oder etwas wie g-recaptcha-response-100000. In manchen Implementierungen kann ein anderer Parametername verwendet werden.

Sie sollten die Netzwerkanfragen untersuchen, um festzustellen, wie das Token übertragen wird, und Ihre Anfrage entsprechend aufbauen.

recaptcha v2 solver  reCAPTCHA Enterprise

reCAPTCHA Enterprise ist die fortgeschrittene Version von Googles reCAPTCHA-System. Es kann sowohl im v2- als auch im v3-Modus arbeiten und bietet Website-Administratoren zusätzliche Kontrolle, einschließlich der Möglichkeit, zu bewerten und zu melden, ob eine Interaktion von einem Menschen oder automatisiert war.

Wie löst man reCAPTCHA Enterprise?

Der erste Schritt besteht darin, festzustellen, ob die Website die Enterprise-Version von reCAPTCHA verwendet.

Wichtige Indikatoren für reCAPTCHA Enterprise sind:

  • Die Seite lädt enterprise.js statt api.js, zum Beispiel:

    <script src="https://recaptcha.net/recaptcha/enterprise.js" async defer></script>

  • Der JavaScript-Code der Website ruft auf grecaptcha.enterprise.METHOD statt grecaptcha.METHOD

Bestimmen Sie als Nächstes, welche Implementierung verwendet wird: v2, Invisible v2 oder v3. Dies lässt sich in der Regel feststellen, indem Sie analysieren, wie das Widget gerendert wird und wie es sich auf der Seite verhält.

Folgen Sie dem untenstehenden Flussdiagramm, um die korrekte Implementierung zu bestimmen. Es gilt in der überwiegenden Mehrheit der Fälle.

recaptcha enterprise

Ermitteln Sie die Captcha-Parameter auf dieselbe Weise wie für reCAPTCHA v2 oder v3 beschrieben.

Bei v2-Enterprise-Implementierungen kann es zusätzliche optionale Daten geben. In den meisten Fällen ist dies eine benutzerdefinierte Zeichenkette, die im s oder data-s Parameter. Falls vorhanden, fügen Sie diesen Wert in Ihre Anfrage ein und verwenden dabei den data-s -Parameter.

Die Liste der POST- und GET-Anfrageparameter ist hier verfügbar: reCAPTCHA V2 POST- und GET-Anfrageparameter

Für v3 Enterprise-Implementierungen benötigen Sie möglicherweise auch den action Wert. Um ihn zu finden, untersuchen Sie den JavaScript-Code der Website und lokalisieren Sie den grecaptcha.enterprise.execute() Aufruf. Der action Parameter wird typischerweise innerhalb dieser Funktion übergeben. Beachten Sie, dass action ist optional und kann in manchen Fällen undefined sein.

Die Liste der POST- und GET-Anfrageparameter ist hier verfügbar: reCAPTCHA V3 POST- und GET-Anfrageparameter

Wenn Sie Ihre Anfrage senden an das /in.php Endpunkt, fügen Sie den zusätzlichen Parameter hinzu: enterprise=1

Danach interagieren Sie mit der CapSkip-API auf die gleiche Weise wie beim Lösen von reCAPTCHA v2 oder v3. Sobald das Token zurückgegeben wurde, übermitteln Sie es gemäß deren Implementierung an die Ziel-Website.

Cloudflare turnstile solving Cloudflare Turnstile

Cloudflare Turnstile ist eine moderne Captcha-Alternative, die von Cloudflare entwickelt wurde. Es überprüft, ob ein Besucher ein Mensch ist, ohne sich auf herkömmliche visuelle Challenges zu verlassen. Turnstile kann als eigenständiges Widget oder als Teil einer Challenge-Seite erscheinen und funktioniert mit minimaler oder ganz ohne Nutzerinteraktion.

Es gibt zwei gängige Turnstile-Implementierungen:

1. Eigenständiges Turnstile-Widget

Ein eigenständiges Turnstile-Widget wird direkt auf einer Website-Seite eingebettet und schützt typischerweise ein Formular vor automatisierten Übermittlungen. In diesem Fall:

  • Extrahieren Sie den sitekey from the page.

  • Senden Sie es an die CapSkip-API zusammen mit der vollständigen pageurl.

  • Nachdem Sie den Token erhalten haben, fügen Sie ihn ein in das cf-turnstile-response -Feld.

  • In manchen Implementierungen muss das Token möglicherweise auch platziert werden in das g-recaptcha-response -Feld.

  • Wenn ein Callback definiert ist in der turnstile.render() Konfiguration, führen Sie es mit dem zurückgegebenen Token aus.

Senden Sie dann das Formular wie gewohnt ab.

2. Turnstile auf einer Cloudflare-Challenge-Seite

Dies tritt auf, wenn die Website über Cloudflare geproxyt wird und vor der Freigabe des Zugangs eine Turnstile-Challenge-Seite anzeigt. In diesem Fall müssen Sie die folgenden Parameter extrahieren:

  • cData

  • chlPageData

  • action

Diese Werte müssen in Ihrer API-Anfrage enthalten sein. Außerdem benötigen Sie den User-Agent Wert, den die CapSkip-API bei der Übermittlung des Tokens zurückgibt.

Wie extrahiert man die erforderlichen Parameter?

Um die erforderlichen Parameter zu extrahieren, können Sie überschreiben turnstile.render -Methode und fangen die Argumente ab, die beim Aufruf übergeben werden. Injizieren Sie zum Beispiel den folgenden JavaScript-Code in die Seite. Das Skript muss ausgeführt werden, bevor das Turnstile-Widget geladen wird, um die Parameter erfolgreich zu erfassen.

const i = setInterval(()=>{
if (window.turnstile) {
clearInterval(i)
window.turnstile.render = (a,b) => {
let p = {
method: "turnstile",
key: "YOUR_API_KEY",
sitekey: b.sitekey,
pageurl: window.location.href,
data: b.cData,
pagedata: b.chlPageData,
action: b.action,
userAgent: navigator.userAgent,
json: 1
}
console.log(JSON.stringify(p))
window.tsCallback = b.callback
return 'foo'
}
}
},50)
Liste der POST-Request-Parameter
ParameterTypErforderlichBeschreibung
keyStringJa Ihr CapSkip-API-Schlüssel.
methodStringJa turnstile – gibt eine Cloudflare-Turnstile-Anfrage an.
sitekeyStringJa Der Wert des data-sitekey Parameter, der auf der Ziel-Seite gefunden wird.
pageurlStringJa Die vollständige URL der Seite, auf der sich die Turnstile-Challenge befindet.
actionStringNein Optionaler action-Wert, definiert im data-action -Attribut oder übergeben an turnstile.render().
dataStringNein Der Wert von cData übergeben an turnstile.render() oder definiert in der data-cdata Attribut.
pagedataStringNein Der Wert von chlPageData übergeben an turnstile.render().
jsonInteger
Standard: 0
Nein 0 – Antwort wird als reiner Text zurückgegeben.
1 – die Antwort wird im JSON-Format zurückgegeben.
proxyStringNeinProxy-Adresse. Format für die IP-Authentifizierung: IP:PORT (Beispiel: 123.123.123.123:3128). Format für die Anmeldung mit Login/Passwort: login:password@IP:PORT
proxytypeStringNeinArt des Proxys. Unterstützte Werte: HTTP, HTTPS, SOCKS5, SOCKS5H. Standard: HTTP wenn proxy wird bereitgestellt, aber proxytype weggelassen wird.

Turnstile absenden (eigenständig):

curl -X POST -d "key=YOUR_API_KEY&method=turnstile&sitekey=0x4AAAAAAABUYP0XeMJF0xoy&pageurl=https://example.com" http://127.0.0.1:8080/in.php

Turnstile absenden (Challenge – optionale action, data, pagedata):

curl -X POST -d "key=YOUR_API_KEY&method=turnstile&sitekey=0x4AAAAAAABUYP0XeMJF0xoy&pageurl=https://example.com&action=managed&data=...&pagedata=..." http://127.0.0.1:8080/in.php

Wenn die Anfrage erfolgreich ist, gibt CapSkip die Captcha-ID als reinen Text zurück: OK|12345

Wenn der json=1 -Parameter angegeben ist, wird die Antwort im JSON-Format zurückgegeben:

{
"status":1,
"request":"12345"
}

Wenn ein Fehler auftritt, gibt CapSkip einen Fehlercode zurück.

Verwenden Sie die zurückgegebene ID, um das Ergebnis abzurufen von /res.php Endpoint der API.

Liste der GET-Anfrageparameter
GET-ParameterTypErforderlichBeschreibung
keyStringJa Ihr CapSkip-API-Schlüssel.
actionStringJa get – ruft die Antwort für das übermittelte Captcha ab.
idIntegerJa Die Captcha-ID, zurückgegeben von in.php.
jsonInteger
Standard: 0
Nein 0 - Antwort wird als reiner Text zurückgegeben.
1 - Antwort wird im JSON-Format zurückgegeben, einschließlich des userAgent Wert.

Für Cloudflare Turnstile verwendet der Löser einen bestimmten Browser-User-Agent, und Sie müssen beim Absenden des Tokens genau denselben User-Agent senden. Mit json=1 enthält die Antwort ein userAgent Feld. Im Klartextmodus lesen Sie denselben Wert aus dem X-Turnstile-User-Agent response-Header.

curl "http://127.0.0.1:8080/res.php?key=YOUR_API_KEY&action=get&id=CAPTCHA_ID"

geetest v3 GeeTest v3

GeeTest v3 Slider ist ein interaktives Captcha, das von GeeTest entwickelt wurde. Es verifiziert Nutzer über eine Slider-Challenge, um Menschen von Bots zu unterscheiden, und bietet dabei ein schnelles und nahtloses Verifizierungserlebnis.

Um ein GeeTest-v3-Captcha mit CapSkip zu lösen, müssen Sie zunächst die erforderlichen Captcha-Parameter von der Zielwebsite abrufen. Die erforderlichen Parameter sind:

  • gt: Öffentlicher Website-Schlüssel (statisch)
  • challenge: Dynamischer Challenge-Wert
  • api_server: GeeTest API-Server-Domain (optional)

Diese Werte sind in der Regel verfügbar, wenn die Website GeeTest initialisiert.

Wichtig: Ein neuer challenge -Wert muss für jede Lösungsanfrage neu ermittelt werden. Sobald das Captcha auf der Seite geladen wurde, ist der vorherige challenge ungültig wird. Sie sollten die Netzwerkanfragen der Website’s untersuchen, um die Anfrage zu identifizieren, die ein neues challenge Wert und führen diese Anfrage aus, bevor Sie jede Löse-Anfrage an CapSkip senden.

Liste der POST-Request-Parameter
ParameterTypErforderlichBeschreibung
keyStringJa*Ihr CapSkip-API-Schlüssel. Nur erforderlich, wenn API-Schlüssel-Validierung aktiviert ist.
methodStringJaMuss sein geetest. Gibt an, dass Sie ein GeeTest-v3-Captcha übermitteln.
gtStringJaThe gt Wert, der von der Zielwebsite bezogen wird.
challengeStringJaThe challenge Wert, der von der Zielwebsite erhalten wird. Für jede Löse-Anfrage muss ein neuer Wert erhalten werden.
pageurlStringJaVollständige URL der Seite, die das GeeTest-Captcha enthält.
api_serverStringNeinDie von der Zielwebsite verwendete GeeTest-API-Serverdomain (zum Beispiel api.geetest.com oder api-na.geetest.com).
jsonInteger
Standard: 0
Nein0 gibt die Antwort als Klartext zurück. 1 gibt die Antwort als JSON zurück.
proxyStringNeinProxy-Adresse. Format für die IP-Authentifizierung: IP:PORT (Beispiel: 123.123.123.123:3128). Format für die Anmeldung mit Login/Passwort: login:password@IP:PORT.
proxytypeStringNeinArt des Proxys. Unterstützte Werte: HTTP, HTTPS, SOCKS5, SOCKS5H. Standard: HTTP wenn proxy wird bereitgestellt, aber proxytype weggelassen wird.

Senden Sie eine HTTP-GET- oder POST-Anfrage an Ihren CapSkip-API-Endpunkt (/in.php) mit method=geetest. Fügen Sie die erforderlichen GeeTest-Parameter aus dem vorherigen Schritt zusammen mit der vollständigen URL der Seite hinzu, die das Captcha enthält.

curl -X POST \
-d "key=YOUR_API_KEY" \
-d "method=geetest" \
-d "gt=f1ab2cdefa3456789012345b6c78d90e" \
-d "challenge=12345678abc90123d45678ef90123a456b" \
-d "pageurl=https://www.example.com/" \
-d "api_server=api-na.geetest.com" \
http://127.0.0.1:8080/in.php

Wenn alles erfolgreich ist, gibt CapSkip die Captcha-ID als Klartext zurück: OK|212

Wenn der json=1 -Parameter angegeben ist, wird die Antwort im JSON-Format zurückgegeben:

{
"status": 1,
"request": "212"
}

Andernfalls gibt CapSkip einen entsprechenden Fehlercode zurück.

Warten Sie ungefähr 5 Sekunden, senden Sie dann eine HTTP-GET-Anfrage an die res.php Endpunkt, um das Ergebnis abzurufen.

Liste der GET-Anfrageparameter
ParameterTypErforderlichBeschreibung
keyStringJa*Ihr CapSkip-API-Schlüssel. Nur erforderlich, wenn API-Schlüssel-Validierung aktiviert ist.
actionStringJaAngeben get um die Captcha-Lösung abzurufen.
idIntegerJaDie vom zurückgegebene Captcha-ID in.php Anfrage.
jsonInteger
Standard: 0
Nein0 gibt die Antwort als Klartext zurück. 1 gibt die Antwort als JSON zurück.
curl "http://127.0.0.1:8080/res.php?key=YOUR_API_KEY&action=get&id=212&json=1"

Wenn das Captcha erfolgreich gelöst wurde, gibt CapSkip die Lösung im JSON-Format zurück:

{
"status": 1,
"request": "{\"geetest_challenge\":\"1a2b3456cd67890e12345fab678901c2de\",\"geetest_validate\":\"09fe8d7c6ba54f32e1dcb0a9fedc8765\",\"geetest_seccode\":\"12fe3d4c56789ba01f2e345d6789c012|jordan\"}"
}

Wenn das Captcha noch nicht gelöst wurde, gibt CapSkip zurück: CAPCHA_NOT_READY

Warten Sie 5 Sekunden und wiederholen Sie die Anfrage. Tritt ein Fehler auf, gibt CapSkip einen entsprechenden Fehlercode zurück. Verwenden Sie die von CapSkip zurückgegebenen Werte beim Übermitteln Ihrer Anfrage an die Zielwebsite mithilfe der folgenden Felder:

  • geetest_challenge
  • geetest_validate
  • geetest_seccode

Proxys verwenden

Für reCAPTCHA v2, v3, Invisible, Enterprise und Cloudflare können Sie mit jeder Aufgabe einen Proxy senden. CapSkip löst das Captcha dann über diesen Proxy, anstatt den in der CapSkip-Anwendung konfigurierten Proxy-Pool zu verwenden.

Das ist nützlich, wenn die Zielwebsite prüft, ob der Captcha-Token von derselben IP-Adresse wie Ihre eigenen Anfragen erzeugt wurde, zum Beispiel bei Websites hinter Cloudflare, strengem reCAPTCHA-Scoring oder geografisch eingeschränkten Seiten.

Liste der POST-Request-Parameter
ParameterTypErforderlichBeschreibung
proxyStringNeinProxy-Adresse. Format für die IP-Authentifizierung: IP:PORT (Beispiel: 123.123.123.123:3128). Format für die Anmeldung mit Login/Passwort: login:password@IP:PORT
proxytypeStringNeinArt des Proxys. Unterstützte Werte: HTTP, HTTPS, SOCKS5, SOCKS5H. Standard: HTTP wenn proxy wird bereitgestellt, aber proxytype weggelassen wird.

Fehlercodes

CodeBedeutung
ERROR_KEY_DOES_NOT_EXISTUngültiger API-Schlüssel.
ERROR_WRONG_USER_KEYAPI-Schlüssel fehlt oder ist leer.
ERROR_WRONG_METHODUngültige HTTP-Methode oder action -Parameter.
ERROR_WRONG_ID_FORMATUngültiges Captcha-ID-Format.
ERROR_BAD_PARAMETERSFehlende oder ungültige Pflichtparameter.
ERROR_UPLOADKeine Bilddaten bereitgestellt oder Upload fehlgeschlagen.
ERROR_INVALID_IMAGEUngültiges Bildformat oder beschädigte Bilddaten.
ERROR_INVALID_BASE64Ungültige base64-Kodierung.
ERROR_TOO_BIG_CAPTCHA_FILESIZEBildgröße überschreitet 600 kB oder Abmessungen überschreiten 1000px.
ERROR_CAPTCHA_UNSOLVABLECaptcha konnte nicht gelöst werden. Senden Sie eine neue Aufgabe und versuchen Sie es erneut.
ERROR_GOOGLEKEYUngültig googlekey -Parameter.
ERROR_PAGEURLUngültig pageurl -Parameter.
CAPCHA_NOT_READYDas Captcha wird noch verarbeitet. Fragen Sie weiter ab.
(leere Antwort)Das Ergebnis wurde bereits abgerufen, oder die ID existiert nicht.