API
В целях автоматизации Death By Captcha (DBC) предоставляет пользователям и разработчикам API-интерфейсы для интеграции с любым программным обеспечением.
Процесс решения выглядит следующим образом:
Ознакомьтесь с подробностями нашего API ниже, чтобы получить дополнительную информацию и ресурсы для реализации DBC с использованием вашего любимого инструмента (ов) и/или языка программирования!
Версия: 4.6
- .NET (C#, Visual Basic)
- C# Selenium
- AutoIt3
- iMacros
- C (Исходный код клиента и либера)
- Java
- Maven
- Java Selenium
- Perl 5+
- PHP v5+
- Python v2.5+ and v3.0+
- Python3 Selenium
- Node.js v8.12.0+
- NodeJS Selenium
- Инструмент командной строки для Windows, Linux (i386 and x86-64) (смотрите примечание по использованию ниже)
Сторонние клиенты
- Обычные изображения капчи с текстом (включая капчи с чувствительностью к регистру, математические капчи и т.д.)
- ReCAPTCHA by Token API ( reCAPTCHA V2, V3, Invisible & Enterprise BETA )
- Geetest Challenges
- KeyCaptcha НОВЫЙ BETA
- TextCAPTCHA НОВЫЙ BETA
- Cloudflare Turnstile НОВЫЙ BETA
- Audio Captcha НОВЫЙ BETA
- Lemin Cropped НОВЫЙ BETA
- Capy Puzzle! НОВЫЙ BETA
- Amazon WAF НОВЫЙ BETA
- Cyber Siara НОВЫЙ BETA
- Mtcaptcha НОВЫЙ BETA
- Cutcaptcha НОВЫЙ BETA
- Friendly Captcha НОВЫЙ BETA
- Datadome НОВЫЙ BETA
- Tencent НОВЫЙ BETA
- Atb Captcha НОВЫЙ 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.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, и проверьте исходный код клиентов.
- Чтобы проверить свой баланс, запустите:
deathbycaptcha.exe -l USERNAME -p PASSWORD -b
Или использование токена аутентификацииdeathbycaptcha.exe -a AUTHTOKEN -b
Ваш баланс будет сохранен в файлеbalance.txt
и распечатана на стандартном выходе. - Чтобы загрузить капчу, запустите:
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
, и идентификатор, и текст будут распечатаны на Стандартный выход, разделенный пространством. - Чтобы сообщить о неправильно решении 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
— Капча ответ. Пустая строка означает, что капча еще не решена.
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 }
- DeCaptcher API (и сокет, и http)
- Antigate (Anti-Captcha)
- 2captcha