API

В целях автоматизации Death By Captcha (DBC) предоставляет пользователям и разработчикам API-интерфейсы для интеграции с любым программным обеспечением.

Процесс решения выглядит следующим образом:

Ознакомьтесь с подробностями нашего API ниже, чтобы получить дополнительную информацию и ресурсы для реализации DBC с использованием вашего любимого инструмента (ов) и/или языка программирования!

Версия: 4.6

Сторонние клиенты

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

При использовании клиентов Socket API убедитесь, что у вас нет исходящих соединений TCP с портами 8123-8130 брандмауал. Используйте клиенты HTTP API, если клиенты Socket API не работают на вас. Диапазон портов 8123-8130 предназначен только для API сокета, не пытайтесь использовать его с помощью HTTP API!

Обратите внимание, что вызов функции декодирования/метод может вернуть нулевое значение, если тайм -аут будет достигнут до того, как CAPTCHA будет решена. Если это происходит часто, увеличивайте используемый тайм -аут.

Для получения более подробной информации см. Примеры, включенные в каждый пакет клиента API, и проверьте исходный код клиентов.

  1. Чтобы проверить свой баланс, запустите:
    deathbycaptcha.exe -l USERNAME -p PASSWORD -b
    Или использование токена аутентификации
    deathbycaptcha.exe -a AUTHTOKEN -b
    Ваш баланс будет сохранен в файле balance.txt и распечатана на стандартном выходе.
  2. Чтобы загрузить капчу, запустите:
    deathbycaptcha.exe -l USERNAME -p PASSWORD -c CAPTCHA_FILE_NAME [-t TIMEOUT]
    Или использование токена аутентификации
    deathbycaptcha.exe -a AUTHTOKEN -c CAPTCHA_FILE_NAME [-t TIMEOUT]
    По умолчанию тайм -аут каптча - 60 секунд.
    В случае решения, идентификатор CAPTCHA будет сохранен в id.txt , текст CAPTCHA будет сохранен в answer.txt , и идентификатор, и текст будут распечатаны на Стандартный выход, разделенный пространством.
  3. Чтобы сообщить о неправильно решении Captcha, запустите:
    deathbycaptcha.exe -l USERNAME -p PASSWORD -n CAPTCHA_ID
    Или использование токена аутентификации
    deathbycaptcha.exe -a AUTHTOKEN -n CAPTCHA_ID

Прежде чем внедрить свой собственный Death By Captcha Клиент HTTP API, пожалуйста, серьезно подумайте о использовании API сокета с одним из наших официальных клиентов, перечисленных выше.

URL API http://api.dbcapi.me/api/. Путь URL Изменения в зависимости от желаемого действия. Все ответы от запросов, сделанных на API, имеют две общие поля:

  • status — Запрос статус. 0 Если во время внутренней обработки запросов не было ошибок, 255 в противном случае.
  • error — Короткое объяснение произошла ошибка. Возвращается только тогда, когда статус составляет 255.

Для получения подробной информации о правильном пути URL и других возвращенных полей для конкретного действия см. В разделе ниже.

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.

Что такое «обычные проверки»?

Эта форма CAPTCHA основана на изображении и требует ввода последовательности букв или цифр из искаженного изображения.

Чтобы загрузить CAPTCHA, отправьте POST-запрос multipart/form-data на http://api.dbcapi.me/api/captcha. Запрос должен содержать следующие поля:

  • username — Ваше Death By Captcha имя пользователя.
  • password — Ваш Death By Captcha пароль.
  • captchafile — изображение капчи.

Если вы используете аутентификацию токена:

  • authtoken — Ваш Death By Captcha токен аутентификации.
  • captchafile — изображение капчи.

captchafile Должен быть предоставлен либо необработанный файл изображения CAPTCHA, либо изображение CAPTCHA, закодированное в Base64 с префиксом base64:. Размер файла изображения ограничен 180 КБ. При кодировании изображения в Base64 его размер не должен превышать 120 КБ. Поддерживаемые форматы изображений: JPG, PNG, GIF и BMP.

Вот форма HTML, которая справляется:

<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>

Или использование аутентификации токена:

<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>

Вот эквивалент команды curl:

curl --header 'Expect: ' -F username=YOUR_USERNAME  -F password=YOUR_PASSWORD  -F captchafile=@YOUR_CAPTCHA_FILENAME http://api.dbcapi.me/api/captcha

Или использование аутентификации токена:

curl --header 'Expect: ' -F authtoken=YOUR_AUTHTOKEN  -F captchafile=@YOUR_CAPTCHA_FILENAME http://api.dbcapi.me/api/captcha

base64-encoded captchafile должно выглядеть следующим образом:

base64:R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAICTAEAOw==

Вы получите один из следующих ответов HTTP:

  • 303 See Other Если ваша Captcha была успешно загружена, location HTTP Header укажет вам на загруженную страницу состояния CAPTCHA, вы можете перейти location на Получите загруженный статус CAPTCHA. Кроме того, будут возвращены следующие поля:
    • captcha — удостоверение личности загруженной капты.
    • is_correct — 1 Если ответ был идентифицирован для этой капчи или он все еще обрабатывается, 0, если обработка закончена и не может быть найдено.
    • text — Капча ответ. Пустая строка означает, что капча еще не решена.
    URL -кодированный пример:
    status=0&captcha=123&is_correct=1&text=
    Пример кодирования JSON:
    { "status": 0, "captcha": 123, "is_correct": 1, "text": "" }
  • 403 Forbidden Если ваша Death By Captcha были отклонены, или у вас недостаточно кредитов.
  • 400 Bad Request Если ваш запрос не последовал приведенной выше спецификации, или CAPTCHA была отклонена за то, что он не является действительным изображением.
  • 500 Internal Server Error Если что -то случилось на нашей стороне, мешало вам загрузить капчу; Если вы уверены, что отправляете правильно структурированные запросы с действительными изображениями CAPTCHA, но проблема сохраняется, пожалуйста, свяжитесь с нашей живой поддержкой и расскажите им подробно, как воспроизвести проблему.
  • 503 Service Temporarily Unavailable Когда наш сервис перегружен, попробуйте еще раз позже.

На этом этапе captcha, которую вы только что загрузили, возможно, еще не была разгадана! Если вы не получили ответ в поле text ответа сервера, вам нужно опросить его. См. Опрос статуса загруженного CAPTCHA для получения дополнительной информации.

Чтобы получить загруженный статус Captcha, выпустите запрос получить запрос на получение http://api.dbcapi.me/api/captcha/%CAPTCHA_ID%, где %CAPTCHA_ID% - это идентификатор загруженной вами CAPTCHA, полученный во время загрузки CAPTCHA. На этот раз вам не нужно предоставить свои учетные данные Death By Captcha. Ответ будет содержать код HTTP 200 OK и те же поля, что и в ответе 303 Смотри другое из раздела Загрузка CAPTCHA.

Если CAPTCHA еще не решена, клавиша text будет пустой. Вам нужно будет продолжать опросить этот ответ. Пример ответов:

  • Ответ с URL-кодировкой правильно решенной капчи
    status=0&captcha=1234&is_correct=1&text=tyrone+slothrop
  • Ответ с кодировкой JSON правильно решенной капчи
    { "captcha": 1234, "is_correct": true,"status": 0, "text": "tyrone slothrop" }
  • Ответ, кодируемый JSON неправильно решенной капчи,
    { "captcha": 1234, "is_correct": false, "status": 0, "text": "?" }
  • Кодированный отклик о несуществующей капче
    { "captcha": 0, "status": 0 }
    Если вы получите этот ответ, подтвердите, что идентификатор CAPTCHA, который вы используете для опроса для ответа, возвращается, когда он был загружен. Если проблема сохраняется, не стесняйтесь свяжитесь с нами.

Пожалуйста, не опросите статус капчи более одного раза за пару секунд.
Это считается злоупотреблением и может привести к бану.
Сохраните свою и нашу пропускную способность.

Если вы думаете, что ваша Captcha была неверно решена, сообщите об этом Death By Captcha, чтобы вернуть ваши деньги. Для этого выпустите запрос POST в http://api.dbcapi.me/api/captcha/%CAPTCHA_ID%/report С следующими полями:

  • username — Ваше Death By Captcha имя пользователя.
  • password — Ваш Death By Captcha пароль.

Или использование токена аутентификации:

  • authtoken — Ваш Death By Captcha токен аутентификации.

Ответ будет:

  • 200 OK Если отчет был завершен. В этом случае ваши кредиты будут возвращены. Тело ответа будет таким же, как и для опроса (или загрузки), но поле is_correct будет 0. Пример:
    { "captcha": 1234, "is_correct": false,"status": 0, "text": "tyrone slothrop" }
  • 503 Service Unavailable Если отчет не может быть завершен. Это может быть связано с тем, что:
    1) captcha, соответствующая предоставленному идентификатору, не была загружена пользователем, сообщающим его;
    2) ваш пользователь запрещен;
    3) отчет был сделан более часа после того, как если бы было загружено. В этом случае вы не будете возвращены.

Злоупотребление этой функцией заставит вас забанить!

Чтобы проверить ваш кредитный баланс, выпустите запрос на получение или публикацию в http://api.dbcapi.me/api со следующими полями:

  • username — Ваше Death By Captcha имя пользователя.
  • password — Ваш Death By Captcha пароль.

Или использование токена аутентификации:

  • authtoken — Ваш Death By Captcha токен аутентификации.

При успешной аутентификации вы получите 200 OK Ответ с вашей Death By Captcha сведениями учетной записи, либо URL-, кодированные, со следующими полями:

  • user — Ваш Death By Captcha идентификатор учетной записи;
  • rate — Сколько мы взимаем с вас за один правильно решенную капчу, в US¢;
  • balance — Ваш текущий кредитный баланс, в US¢.
  • is_banned — 1 Если пользователь запрещен, 0, если нет.

Пример, кодируемый JSON:

{ "is_banned": false, "status": 0, "rate": 0.139,"balance": 455.23, "user": 43122 }

Чтобы получить текущий статус сервера, выпустите запрос GET на http://api.dbcapi.me/api/status. Ответ будет иметь следующие поля:

  • todays_accuracy — число, представляющее точность в процентах (например, 99,6 представляет 99,6%)
  • solved_in — Среднее время решения за секунды
  • is_service_overloaded — 1 Если обслуживание перегружена, 0 в противном случае

Пример, кодируемый JSON:

{ "status": 0, "todays_accuracy": 99.9, "solved_in": 5.3,"is_service_overloaded": false }
Death By Captcha API также поддерживает аутентификацию токенов (как сокет, так и HTTP), научиться использовать аутентификацию токена с нашим API .

Статус: OK

Серверы полностью готовы к работе с более быстрым, чем в среднем, временем отклика.
  • Среднее время решения
  • 5 секунды - Normal CAPTCHAs (1 мин. назад)
  • 26 секунды - reCAPTCHA V2, V3, etc (1 мин. назад)
  • 19 секунды - hCAPTCHA & другие (1 мин. назад)
Chrome and Firefox logos
Доступны расширения браузера

Обновления

  1. Feb 26: NEW TYPE ADDED - Now supporting Friendly CAPTCHA!! See the details at https://deathbycaptcha.com/api/friendly
  2. Nov 22: Now supporting Amazon WAF!! See the details at https://deathbycaptcha.com/api/amazonwaf
  3. 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!

  4. Предыдущие обновления…

Поддерживать

Наша система разработана таким образом, чтобы быть максимально удобной и простой в использовании. Если у вас возникнут какие-либо проблемы с этим, просто напишите нам по адресу Электронная почта службы технической поддержки DBC com, и агент службы поддержки свяжется с вами как можно скорее.

Живая поддержка

Доступно с понедельника по пятницу (с 10:00 до 16:00 по восточному поясному времени) Live support image. Link to live support page