API
À des fins d'automatisation, Death By Captcha (DBC) fournit des API permettant aux utilisateurs et aux développeurs de s'intégrer à n'importe quel logiciel donné.
Le processus de résolution se déroule comme suit :
Consultez les détails de notre API ci-dessous pour obtenir des informations et des ressources supplémentaires pour implémenter DBC à l'aide de vos outils et/ou langages de programmation préférés!
Version: 4.6
- .NET (C#, Visual Basic)
- C# Selenium
- AutoIt3
- iMacros
- C (Code source du client et de Lib)
- Java
- Maven
- Java Selenium
- Perl 5+
- PHP v5+
- Python v2.5+ and v3.0+
- Python3 Selenium
- Node.js v8.12.0+
- NodeJS Selenium
- Outil de ligne de commande pour Windows, Linux (i386 and x86-64) (Voir la note d`utilisation ci-dessous)
Clients tiers
- CAPTCHAs d'images normales avec du texte (y compris les CAPTCHAs sensibles à la casse, les CAPTCHAs mathématiques, etc.)
- ReCAPTCHA by Token API ( reCAPTCHA V2, V3, Invisible & Enterprise BETA )
- Geetest Challenges
- FunCaptcha
- KeyCaptcha NOUVEAU BETA
- TextCAPTCHA NOUVEAU BETA
- Cloudflare Turnstile NOUVEAU BETA
- Audio Captcha NOUVEAU BETA
- Lemin Cropped NOUVEAU BETA
- Capy Puzzle! NOUVEAU BETA
- Amazon WAF NOUVEAU BETA
- Cyber Siara NOUVEAU BETA
- Mtcaptcha NOUVEAU BETA
- Cutcaptcha NOUVEAU BETA
- Friendly Captcha NOUVEAU BETA
- Datadome NOUVEAU BETA
- Funcaptcha by Image NOUVEAU BETA
- Tencent NOUVEAU BETA
- Atb Captcha NOUVEAU BETA
- Support for legacy/outdated reCAPTCHA solving via Coordinates or Image Group
We are using command line dotnet 6+
Make sure you already downloaded selenium browser driver
and double check the driver executable is on PATH
You can use ChromeDriver for Chrome or Geckodriver for Firefox
and can switch between these drivers on the C# source code.
Download C# Selenium project from the list above
Edit Program.cs and put your credentials there
string _username = "DBC_USERNAME";
string _password = "DBC_PASSWORD";
In the folder where .csproj file is located
Do the following comands to run the example:
dotnet restore to install the requirements
dotnet build to build the project
dotnet run to run the project
dotnet clean to clean the project
// Repeat for other CAPTCHAs
We are using Maven 3.6+
Make sure you already downloaded selenium browser driver
and double check the driver executable is on PATH
You can use ChromeDriver for Chrome or Geckodriver for Firefox
and can switch between these drivers on the Java source code.
Download Java Selenium project from the list above
Edit App.java and put your credentials there
Client client = new HttpClient("DBC_USERNAME", "DBC_PASSWORD");
In the folder where pom.xml file is located
Do the following comands to run the example:
mvn clean install -U to clean project and install dependencies
mvn exec:java -Dexec.mainClass="deathbycaptcha.App" to build the project
mvn clean to clean the project
Refer to Java and Maven project examples to more detail
We are using NodeJS v12+
Make sure you already downloaded selenium browser driver
and double check the driver executable is on PATH
You can use ChromeDriver for Chrome or Geckodriver for Firefox
and can switch between these drivers on the NodeJS source code.
Download NodeJS Selenium project from the list above
Edit nodeSeleniumExample.js and put your credentials there
const USERNAME = 'DBC_USERNAME' // Your DBC username here
const PASSWORD = 'DBC_PASSWORD' // Your DBC password here
In the folder where package.json file is located
Do the following comands to run the example:
npm install // to install dependencies
node recaptcha_example/nodeSeleniumExample.js // to run the example
Refer to NodeJS project examples to more detail
We are using Python v3+
Make sure you already downloaded selenium browser driver
and double check the driver executable is on PATH
You can use ChromeDriver for Chrome or Geckodriver for Firefox
and can switch between these drivers on the Python3 source code.
Download Python3 Selenium project from the list above
Edit python_selenium_example.py and put your credentials there
USERNAME = 'DBC_USERNAME' # Your DBC username here
PASSWORD = 'DBC_PASSWORD' # Your DBC password here
In the folder where requirements.txt file is located
Do the following comands to run the example:
python3 -m venv venv to create a new python3 venv
. venv/bin/activate to activate the venv
pip3 install -r requirements.txt to install dependencies
python3 python_selenium_example.py
Refer to Python3 project examples to more detail
Create new Python3 virtual environment
python3 -m venv venv
Activate the virtual environment
. venv/bin/activate
Install DeathByCaptcha library from pypi
pip install deathbycaptcha-official
Create our python3 script
import deathbycaptcha
# don't forget to import deathbycaptcha library
username = 'username'
password = 'password'
authtoken = ''
...
use the DeathByCaptcha python http client
http_client = deathbycaptcha.HttpClient(username, password, authtoken)
or use the DeathByCaptcha python sockets client
socket_client = deathbycaptcha.SocketClient(username, password, authtoken)
Refer to Python3 project examples to more detail.
Create new Maven project
mvn archetype:generate
-DgroupId=examples
-DartifactId=deathbycaptcha-examples
-DarchetypeArtifactId=maven-archetype-quickstart
-DarchetypeVersion=1.4
-DinteractiveMode=false
Include the following dependencies on maven pom.xml file
<dependencies>
<dependency>
<groupId>io.github.deathbycaptcha</groupId>
<artifactId>deathbycaptcha-java-library</artifactId>
<version>0.43</version>
</dependency>
</dependencies>
if the pom.xml is correct.
We can use the imports on our java files.
import com.DeathByCaptcha.AccessDeniedException;
import com.DeathByCaptcha.Client;
import com.DeathByCaptcha.HttpClient;
import com.DeathByCaptcha.SocketClient;
import com.DeathByCaptcha.Captcha;
...
Clean and build the project
mvn clean install -U
Run the project
mvn exec:java -Dexec.mainClass="examples.GetBalance" -Dexec.args=""
mvn exec:java -Dexec.mainClass="examples.ExampleFuncaptcha"
mvn exec:java -Dexec.mainClass="examples.ExampleCaptcha"
mvn exec:java -Dexec.mainClass="examples.ExampleRecaptchaV2"
...
Refer to Java and Maven project examples to more detail
Lorsque vous utilisez des clients API Socket, assurez-vous de ne pas avoir de connexions TCP sortantes aux ports 8123-8130 à feu feuilles de feu. Utilisez les clients de l'API HTTP si les clients API Socket ne fonctionnent pas pour vous. La gamme des ports 8123-8130 est réservée à l'API de socket, n'essayez pas de l'utiliser avec l'API HTTP!
Notez qu'un appel à la fonction / méthode du décodage peut renvoyer une valeur nulle si le délai d'attente est atteint avant la résolution du captcha. Si cela se produit souvent, augmentez le délai d'expiration utilisé.
Pour plus de détails, voir des exemples inclus dans chaque package client API et cochez le code source des clients.
- Pour vérifier votre solde, exécutez:
deathbycaptcha.exe -l USERNAME -p PASSWORD -b
Ou en utilisant un jeton d'authentificationdeathbycaptcha.exe -a AUTHTOKEN -b
Votre solde sera enregistré dans le fichierBalance.txt
et imprimé sur la sortie standard. - Pour télécharger un captcha, exécutez:
deathbycaptcha.exe -l USERNAME -p PASSWORD -c CAPTCHA_FILE_NAME [-t TIMEOUT]
Ou en utilisant un jeton d'authentificationdeathbycaptcha.exe -a AUTHTOKEN -c CAPTCHA_FILE_NAME [-t TIMEOUT]
Le délai d'expiration de résolution de CAPTCHA par défaut est de 60 secondes.
S'il est résolu, l'ID CAPTCHA sera enregistré dansid.txt
, le texte CAPTCHA sera enregistré dansréponse.txt
, et l'ID et le texte seront imprimés sur le Sortie standard séparée par un espace. - Pour signaler un captcha incorrectement résolu, exécuter:
deathbycaptcha.exe -l USERNAME -p PASSWORD -n CAPTCHA_ID
Ou en utilisant un jeton d'authentificationdeathbycaptcha.exe -a AUTHTOKEN -n CAPTCHA_ID
Avant d'implémenter le vôtre Death By Captcha Client de l'API HTTP, veuillez envisager sérieusement d'utiliser l'API Socket avec l'un de nos clients officiels répertoriés ci-dessus.
L'URL de l'API est http://api.dbcapi.me/api/
.
Le Chemin d'URL change selon l'action souhaitée. Toutes les réponses des demandes faites à l'API ont deux champs communs:
status
— statut de demande. 0 S'il n'y avait pas d'erreurs lors du traitement de la demande interne, 255 sinon.error
— Explication courte de l'erreur s'est produite. Retourné uniquement lorsque l'état est de 255.
Pour plus de détails sur le chemin d'usage correct et les autres champs retournés pour une action spécifique, reportez-vous à sa section ci-dessous.
All API responses are returned URL-encoded by default. If JSON encoding is desired, include application/json
in the Accept
header of your request. Note that boolean true will be returned as 1 in URL-encoded responses and as true in JSON-encoded responses. Boolean false will be returned as 0 in URL-encoded responses and as false in JSON-encoded responses.
Que sont les défis «captcha normal»?
Cette forme de CAPTCHA est basée sur une image et nécessite la saisie d'une séquence de lettres ou de chiffres à partir d'une image déformée.
Pour télécharger un captcha, émettez une demande POST multipart/form-data
à http://api.dbcapi.me/api/captcha
.
La demande doit contenir les champs suivants:
username
— Votre nom d'utilisateur Death By Captcha.password
— Votre mot de passe Death By Captcha.captchafile
— l'image CAPTCHA.
Dans le cas où vous utilisez l'authentification des jetons:
authtoken
— Votre Death By Captcha token d'authentification.captchafile
— l'image CAPTCHA.
captchafile
Doit être soit un fichier d'image CAPTCHA brut, soit une image CAPTCHA codée en base64 préfixée par base64:
. La taille de fichier image est limitée à moins de 180 KB. Lorsque l'image sera encodée en base64, sa taille doit être inférieure à 120 KB. Les formats d'image pris en charge sont JPG, PNG, GIF et BMP.
Voici la forme HTML qui fait l'affaire:
<form action="http://api.dbcapi.me/api/captcha"method="post" enctype="multipart/form-data"> <input type="text" name="username" value=""> <input type="password" name="password" value=""> <input type="file" name="captchafile"> </form>
Ou en utilisant l'authentification des jetons:
<form action="http://api.dbcapi.me/api/captcha"method="post" enctype="multipart/form-data"> <input type="text" name="authtoken" value=""> <input type="file" name="captchafile"> </form>
Voici Curl Command Equivalent:
curl --header 'Expect: ' -F username=YOUR_USERNAME -F password=YOUR_PASSWORD -F captchafile=@YOUR_CAPTCHA_FILENAME http://api.dbcapi.me/api/captcha
Ou en utilisant l'authentification des jetons:
curl --header 'Expect: ' -F authtoken=YOUR_AUTHTOKEN -F captchafile=@YOUR_CAPTCHA_FILENAME http://api.dbcapi.me/api/captcha
base64
-encoded captchafile
Le champ devrait ressembler à ceci:
base64:R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAICTAEAOw==
Vous obtiendrez l'une des réponses HTTP suivantes:
-
303 See Other
Si votre captcha a été téléchargé avec succès,Emplacement
L'en-tête HTTP vous indiquera la page d'état CAPTCHA téléchargée, vous pouvez suivre leEmplacement
pour Obtenez le statut CAPTCHA téléchargé. De plus, les champs suivants seront retournés:
captcha
— ID du captcha téléchargé.is_correct
— 1 Si une réponse a été identifiée pour ce captcha ou elle est toujours en cours de traitement, 0 si le traitement est terminé et aucune réponse n'a pu être trouvée.text
— réponse captcha. Une chaîne vide signifie que le captcha n'est pas encore résolu.
status=0&captcha=123&is_correct=1&text=
Exemple encodé JSON:{ "status": 0, "captcha": 123, "is_correct": 1, "text": "" }
-
403 Forbidden
Si votre Death By Captcha a été rejetée, ou si vous n'avez pas suffisamment de crédits. -
400 Bad Request
Si votre demande n'a pas suivi la spécification ci-dessus, ou si le captcha a été rejeté pour ne pas être une image valide. -
500 Internal Server Error
Si quelque chose s'est produit de notre côté vous empêchant de télécharger le captcha; Si vous êtes sûr que vous envoyez des demandes correctement structurées avec des images CAPTCHA valides, mais le problème persiste, veuillez contacter notre support en direct et leur dire en détail comment reproduire le problème. -
503 Service Temporarily Unavailable
Lorsque notre service est surchargé, réessayez plus tard.
À ce stade, le CAPTCHA que vous venez de télécharger peut ne pas encore avoir été résolu! Si vous n`avez pas reçu la réponse dans la clé text de la réponse du serveur, vous devez interroger. Reportez-vous à Interrogation de l`état du CAPTCHA téléchargé pour plus de détails.
Pour obtenir un statut de CAPTCHA téléchargé, publiez une demande de GET à
http://api.dbcapi.me/api/captcha/%CAPTCHA_ID%
,
où %CAPTCHA_ID%
est l`identifiant de votre captcha téléchargé acquis lors du téléchargement du captcha.
Vous n'avez pas à fournir vos informations d'identification Death By Captcha cette fois.
La réponse sera une réponse HTTP 200 OK
avec les mêmes champs décrits pour la réponse 303 Voir autre
de la section Téléchargement d`un CAPTCHA.
Si le captcha n'est pas encore résolu, la touche text
sera vide. Vous devrez continuer à interroger cette réponse. Exemples de réponses:
-
Réponse codée par URL d'un captcha correctement résolu
status=0&captcha=1234&is_correct=1&text=tyrone+slothrop
-
Réponse codée par JSON d'un captcha correctement résolu
{ "captcha": 1234, "is_correct": true,"status": 0, "text": "tyrone slothrop" }
-
Réponse codée par JSON d'un captcha incorrectement résolu
{ "captcha": 1234, "is_correct": false, "status": 0, "text": "?" }
-
Réponse codée par JSON d'un captcha inexistant
{ "captcha": 0, "status": 0 }
Si vous obtenez cette réponse, confirmez que l'ID CAPTCHA que vous utilisez pour interroger pour la réponse est le même retourné lorsqu'il a été téléchargé. Si le problème persiste, n'hésitez pas à Contactez-nous.
Veuillez ne pas sonder pour un statut de captcha plus d'une fois en quelques secondes.
Ceci est considéré comme abusif et pourrait vous faire bannir.
Préservez votre bande passante et la nôtre.
Si vous pensez que votre captcha a été résolu à tort, signalez-le à Death By Captcha pour récupérer votre argent.
Pour ce faire, émettez une demande de poste à http://api.dbcapi.me/api/captcha/%CAPTCHA_ID%/report
avec les champs suivants:
username
— Votre nom d'utilisateur Death By Captcha.password
— Votre mot de passe Death By Captcha.
Ou en utilisant un jeton d'authentification:
authtoken
— Votre Death By Captcha token d'authentification.
La réponse sera:
200 OK
Si le rapport était terminé. Dans ce cas, vos crédits seront remboursés. Le corps de réponse sera le même que pour un scrutin (ou télécharger) mais le champis_correct
sera 0. Exemple:{ "captcha": 1234, "is_correct": false,"status": 0, "text": "tyrone slothrop" }
503 Service Unavailable
Si le rapport ne pouvait pas être terminé. Cela peut être dû au fait que:
1) CAPTCHA correspondant à l'ID fourni n'a pas été téléchargé par l'utilisateur qui l'a signalé;
2) Votre utilisateur est interdit;
3) le rapport a été fait plus d'une heure après si il a été téléchargé. Dans ce cas, vous ne serez pas remboursé.
Abuser de cette fonctionnalité vous permettra de bannir!
Pour vérifier votre solde de crédit, émettez une demande Get ou Post à http://api.dbcapi.me/api
avec les champs suivants:
username
— Votre nom d'utilisateur Death By Captcha.password
— Votre mot de passe Death By Captcha.
Ou en utilisant un jeton d'authentification:
authtoken
— Votre Death By Captcha token d'authentification.
Sur une authentification réussie, vous obtiendrez 200 OK
Response avec votre Death By Captcha Détails du compte, codés par URL ou JSON, avec les champs suivants:
user
— Votre Death By Captcha ID de compte;rate
— Combien nous vous facturons pour un captcha correctement résolu, en US¢;balance
— Votre solde de crédit actuel, en US¢.is_banned
— 1 Si l'utilisateur est banni, 0 sinon.
Exemple de réponse codée par JSON:
{ "is_banned": false, "status": 0, "rate": 0.139,"balance": 455.23, "user": 43122 }
Afin de recevoir l'état actuel du serveur, émettez une demande GET à http://api.dbcapi.me/api/status
. La réponse aura les champs suivants:
todays_accuracy
— Le nombre représentant la précision en pourcentage (par exemple, 99,6 représente 99,6%)solved_in
— Temps de résolution moyen en secondesis_service_overloaded
— 1 Si le service est surchargé, 0 sinon
Exemple de réponse codée par JSON:
{ "status": 0, "todays_accuracy": 99.9, "solved_in": 5.3,"is_service_overloaded": false }
- DeCaptcher API (Socket et HTTP)
- Antigate (Anti-Captcha)
- 2captcha