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

Clients tiers

require_once 'deathbycaptcha.php';
// Put your DBC credentials here.
// Use DeathByCaptcha_HttpClient class if you want to use HTTP API.
$client = new DeathByCaptcha_SocketClient(USERNAME, PASSWORD);

// Put the CAPTCHA file name or handler, and desired timeout (in seconds) here:
if ($captcha = $client->decode(CAPTCHA_FILE_NAME, TIMEOUT)) {
    echo $captcha['text'] . "\n";
    // Report the CAPTCHA if solved incorrectly.
    // Make sure the CAPTCHA was in fact incorrectly solved!
    if ( ... ) {
        $client->report($captcha['captcha']);
    }
}
// Repeat for other CAPTCHAs
require_once 'deathbycaptcha.php';
// Put your DBC credentials here.
// Use DeathByCaptcha_HttpClient class if you want to use HTTP API.
// To use token username must be authtoken.
$client = new DeathByCaptcha_SocketClient("authtoken", token-from-panel);

// Put the CAPTCHA file name or handler, and desired timeout (in seconds) here:
if ($captcha = $client->decode(CAPTCHA_FILE_NAME, TIMEOUT)) {
    echo $captcha['text'] . "\n";

    // Report the CAPTCHA if solved incorrectly.
    // Make sure the CAPTCHA was in fact incorrectly solved!
    if ( ... ) {
        $client->report($captcha['captcha']);
    }
}
// Repeat for other CAPTCHAs
// Do not forget to reference DeathByCaptcha.dll in your project!
using DeathByCaptcha;

// Put your DBC credentials here.
// Use HttpClient class if you want to use HTTP API.
Client client = (Client) new SocketClient(USERNAME, PASSWORD);

// Put your CAPTCHA file name, stream, or vector of bytes,
// and desired timeout (in seconds) here:
Captcha captcha = client.Decode(CAPTCHA_FILE_NAME, TIMEOUT);
if (captcha.Solved && captcha.Correct) {
    Console.WriteLine("CAPTCHA {0}: {1}", captcha.Id, captcha.Text);

    // Report the CAPTCHA if solved incorrectly.
    // Make sure the CAPTCHA was in fact incorrectly solved!
    if ( ... ) {
        client.Report(captcha);
    }
}

// Repeat for other CAPTCHAs
// Do not forget to reference DeathByCaptcha.dll in your project!
using DeathByCaptcha;

// Put your DBC credentials here.
// Use HttpClient class if you want to use HTTP API.
// Using token authentication in C#/VB, username must be authtoken.

Client client = (Client) new SocketClient("authtoken", token-from-panel);

// Put your CAPTCHA file name, stream, or vector of bytes,
// and desired timeout (in seconds) here:
Captcha captcha = client.Decode(CAPTCHA_FILE_NAME, TIMEOUT);
if (captcha.Solved && captcha.Correct) {
    Console.WriteLine("CAPTCHA {0}: {1}", captcha.Id, captcha.Text);

    // Report the CAPTCHA if solved incorrectly.
    // Make sure the CAPTCHA was in fact incorrectly solved!
    if ( ... ) {
        client.Report(captcha);
    }
}

// Repeat for other CAPTCHAs
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.ExampleHcaptcha"
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.

  1. Pour vérifier votre solde, exécutez:
    deathbycaptcha.exe -l USERNAME -p PASSWORD -b
    Ou en utilisant un jeton d'authentification
    deathbycaptcha.exe -a AUTHTOKEN -b
    Votre solde sera enregistré dans le fichier Balance.txt et imprimé sur la sortie standard.
  2. 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'authentification
    deathbycaptcha.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é dans id.txt , le texte CAPTCHA sera enregistré dans réponse.txt , et l'ID et le texte seront imprimés sur le Sortie standard séparée par un espace.
  3. Pour signaler un captcha incorrectement résolu, exécuter:
    deathbycaptcha.exe -l USERNAME -p PASSWORD -n CAPTCHA_ID
    Ou en utilisant un jeton d'authentification
    deathbycaptcha.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 le Emplacement 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.
    Exemple encodé d'URL:
    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 champ is_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 secondes
  • is_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 }
Death By Captcha API prend également en charge l'authentification des jetons (à la fois socket et http), Apprenez à utiliser l'authentification token avec notre API .

Statut: OK

Les serveurs sont pleinement opérationnels avec un temps de réponse plus rapide que la moyenne.
  • Temps de résolution moyen
  • 5 secondes - Normal CAPTCHAs (1 min. il y a)
  • 27 secondes - reCAPTCHA V2, V3, etc (1 min. il y a)
  • 28 secondes - hCAPTCHA & autres (1 min. il y a)
Chrome and Firefox logos
Extensions du navigateur disponibles

Mises à jour

  1. Nov 22: Now supporting Amazon WAF!! See the details at https://deathbycaptcha.com/api/amazonwaf
  2. Nov 01: Today our Socket API was affected by a technical issue for a few hours. It's now sorted and back to 100%, working optimally. We sincerely apologize for the inconvenience this may have caused you. If you were affected, please don't hesitate to contact us: https://deathbycaptcha.com/contact and we'll be happy to assist/compensate you!
  3. Oct 09: Now supporting Audio Recognition! See the details at https://deathbycaptcha.com/api/audio.

  4. Mises à jour précédentes…

Soutien

Notre système est conçu pour être totalement convivial et facile à utiliser. Si vous rencontrez des problèmes, envoyez-nous simplement un e-mail àE-mail du support technique DBC com, et un agent de support vous répondra dans les plus brefs délais.

Support en direct

Disponible du lundi au vendredi (10 h à 16 h HNE) Live support image. Link to live support page