API
出于自动化目的,Death By Captcha (DBC) 为用户和开发人员提供 API 以与任何给定软件集成。
求解过程如下:
查看下面的 API 详细信息,了解使用您喜欢的工具和/或编程语言实施 DBC 的更多信息和资源!
版本: 4.6
- .NET (C#, Visual Basic)
- C# Selenium
- AutoIt3
- iMacros
- C (客户和Lib的源代码)
- 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 firewalled。如果套接字API客户端不适合您,请使用HTTP API客户端。 8123-8130端口范围仅适用于套接字API,请勿尝试与HTTP API使用它!
请注意,如果在验证验证验证验证之前,可以返回对解码函数/方法的调用,则可以返回null值。如果经常发生这种情况,请增加使用的超时。
有关更多详细信息,请参见每个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秒。
如果解决了,则验证码ID将保存在id.txt
中,验证码文本将保存在answert.txt
中,并且ID和文本都将在标准输出由空间隔开。 - 要报告错误解决的验证码,请运行:
deathbycaptcha.exe -l USERNAME -p PASSWORD -n CAPTCHA_ID
或使用身份验证令牌deathbycaptcha.exe -a AUTHTOKEN -n CAPTCHA_ID
在实施自己的 Death By Captcha HTTP API客户端,请认真考虑使用上面列出的官方客户之一使用套接字API。
API URL是 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.
什么是“正常验证码”挑战?
这种形式的验证码是基于图像的,需要输入扭曲图像中的一系列字母或数字。
要上传验证码,请发出一个multipart/form-data
的POST请求到 http://api.dbcapi.me/api/captcha
.
该请求必须包含以下字段:
username
— 您的Death By Captcha用户名。password
— 您的Death By Captcha密码。captchafile
— 验证码图像。
如果您使用令牌身份验证:
authtoken
— 您的Death By Captcha身份验证令牌。captchafile
— 验证码图像。
captchafile
应为原始 CAPTCHA 图像文件或以 base64:
前缀预置的 base64
编码的 CAPTCHA 图像。图像文件大小限制为小于 180 KB。当图像将编码为 base64 时,大小应小于 120 KB。支持的图像格式为 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
编码captchafile
字段应该看起来像这样:
base64:R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAICTAEAOw==
您将获得以下HTTP响应之一:
-
303 See Other
如果您的验证码成功上传,会指向已上传的验证码状态页的HTTP头Location
。 您可以跟随该Location
以获取已上传的验证码状态。 另外,以下字段将返回:
captcha
— 上载验证码的ID。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
如果您的请求未遵循上面的规范,或者因没有有效图像而被拒绝验证码。 -
500 Internal Server Error
如果我们一边发生了一些事情,阻止您上传验证码;如果您确定要使用有效的CATPCHA图像发送正确结构的请求,但问题仍然存在,请联系我们的实时支持,并详细告诉他们如何重现该问题。 -
503 Service Temporarily Unavailable
当我们的服务超载时,请稍后再试。
在这一点上,您刚刚上传的CAPTCHA可能尚未解决!如果您没有在服务器响应的text键中收到答案,则必须对其进行轮询。有关更多详细信息,请参见轮询已上传CAPTCHA状态。
要获得上传验证码的状态,请向
http://api.dbcapi.me/api/captcha/%CAPTCHA_ID%
,
其中%CAPTCHA_ID%
是您上传的验证码的ID,在上传验证码时获得.
这次您不必提供Death By Captcha凭据。
响应将是HTTP 200 OK
响应,并包含与上传验证码部分的303 See Other
响应中描述的相同字段。
如果尚未解决验证码,则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": "?" }
-
JSON编码的验证码的响应
{ "captcha": 0, "status": 0 }
如果您得到此响应,请确认您用于轮询的验证码ID与上传时返回的答案相同。 如果问题仍然存在,请随时联系我们。
请不要在几秒钟内多次进行验证验证状态.
这被认为是滥用行为,可能会导致您被禁言。
请节约您和我们的带宽。
如果您认为您的验证码已被错误地解决,请将其报告给Death By Captcha以获取您的钱。
为此,请向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)用户报告的验证码未上传与所提供的ID相对应;
2)您的用户被禁止;
3)报告已发布超过一个小时如果上传。在这种情况下,您不会退款。
滥用此功能将使您被禁止!
要查看您的信用余额,请在http://api.dbcapi.me/api
上发布get或张贴请求。
username
— 您的Death By Captcha用户名。password
— 您的Death By Captcha密码。
或使用身份验证令牌:
authtoken
— 您的Death By Captcha身份验证令牌。
成功验证后,您将获得200 OK
响应并包含您的Death By Captcha帐户详细信息,可以是URL编码或JSON编码,包含以下字段:
user
— 您的Death By Captcha帐户ID;rate
— 我们向您收取多少美分的正确解决验证码费用;balance
— 您当前的信用余额,美分。is_banned
— 1如果禁止用户,则0,如果不是。
示例JSON编码的响应:
{ "is_banned": false, "status": 0, "rate": 0.139,"balance": 455.23, "user": 43122 }
为了接收当前服务器状态,请向http://api.dbcapi.me/api/status
发出get请求。响应将具有以下字段:
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