API
出于自动化目的,Death By Captcha (DBC) 为用户和开发人员提供 API 以与任何给定软件集成。
求解过程如下:
查看下面的 API 详细信息,了解使用您喜欢的工具和/或编程语言实施 DBC 的更多信息和资源!
- .NET (C#, VB, GitHub, Selenium, NuGet)
- AutoIt3
- C (客户和Lib的源代码)
- Java (GitHub, Maven, Selenium)
- Perl 5+
- PHP v7+
- Python3 (GitHub, PyPI, Selenium)
- Node.js (GitHub, npm, Selenium)
- 命令行工具 Windows, Linux (i386 and x86-64) (请参见下面的使用说明)
对于其他语言,请查看我们的 API metadata specifications (OpenAPI/AsyncAPI) 自动生成客户端。
第三方客户
- 带有文本的普通图像验证码(包括大小写敏感的验证码、数学验证码等)
- ReCAPTCHA by Token API ( reCAPTCHA V2, V3, Invisible & Enterprise) BETA
- Geetest Challenges 新的 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
我们正在使用命令行dotnet 10+ (也支持net8.0和net6.0)
确保您已下载selenium浏览器驱动程序
并仔细检查驱动程序可执行文件是否在PATH上
您可以为Chrome使用ChromeDriver或为Firefox使用Geckodriver
并且可以在C#源代码中的这些驱动程序之间切换.
从GitHub克隆.NET项目
git clone https://github.com/deathbycaptcha/deathbycaptcha-api-client-dotnet
凭据从环境变量读取:
DBC_USERNAME=your_username
DBC_PASSWORD=your_password
在文件夹中 dbc_api_net.sln 文件位于
执行以下命令运行 Selenium 示例:
dotnet restore dbc_api_net.sln
dotnet run --project DBC_Examples/DBC_Examples.csproj -c Release -f net10.0 -p:ExamplesStartupObject=DeathByCaptcha.SeleniumRecaptchaV2Example
有关更多详细信息,请参阅.NET项目示例
我们在使用 Maven 3.6+
确保您已下载selenium浏览器驱动程序
并仔细检查 驱动程序可执行文件在PATH上
您可以为Chrome使用ChromeDriver或为Firefox使用Geckodriver
并且可以在Java源代码中的这些驱动程序之间切换.
从上面的列表中下载Java Selenium项目
编辑App.java并放入您的凭据
Client client = new HttpClient("DBC_USERNAME", "DBC_PASSWORD");
在文件夹中 pom.xml 文件位于
执行以下命令运行示例:
mvn clean install -U 清理项目和安装依赖项
mvn exec:java -Dexec.mainClass="deathbycaptcha.App" 构建项目
mvn clean 清理项目
有关更多详细信息,请参阅Java和Maven项目示例
我们在使用NodeJS v22+
确保您已下载selenium浏览器驱动程序
并仔细检查驱动程序可执行文件是否在PATH上
您可以为Chrome使用ChromeDriver或为Firefox使用Geckodriver
并且可以在NodeJS源代码中的这些驱动程序之间切换。
从GitHub克隆NodeJS项目
git clone https://github.com/deathbycaptcha/deathbycaptcha-api-client-nodejs
编辑examples/selenium/recaptcha_v2_selenium.js,并放入您的凭据
const USERNAME = 'DBC_USERNAME' // 您的DBC用户名在这里
const PASSWORD = 'DBC_PASSWORD' // 您的DBC密码在这里
在文件夹中 package.json 文件位于
执行以下命令运行示例:
npm install deathbycaptcha-lib // 从npm安装DBC库
node examples/selenium/recaptcha_v2_selenium.js // 运行示例
有关更多详细信息,请参阅NodeJS项目示例
我们在使用Python v3+
确保您已下载selenium浏览器驱动程序
并仔细检查 驱动程序可执行文件在PATH
您可以为Chrome使用ChromeDriver或为Firefox使用Geckodriver
并且可以在Python3源代码中的这些驱动程序之间切换。
从上面的列表中下载Python3 Selenium项目
编辑 python_selenium_example.py 并在那里放入您的凭据
USERNAME = 'DBC_USERNAME' # 您的DBC用户名在这里
PASSWORD = 'DBC_PASSWORD' # 您的DBC密码在这里
在文件夹中 requirements.txt 文件位于
执行以下命令运行示例:
python3 -m venv venv 创建新的python3 venv
. venv/bin/activate 激活venv
pip3 install -r requirements.txt 安装依赖项
python3 python_selenium_example.py
有关更多详细信息,请参阅Python3项目示例
创建新的Python3虚拟环境
python3 -m venv venv
激活虚拟环境
. venv/bin/activate
从pypi安装DeathByCaptcha库
pip install deathbycaptcha-official
创建我们的python3脚本
import deathbycaptcha
# don't forget to import deathbycaptcha library
username = 'username'
password = 'password'
authtoken = ''
...
使用DeathByCaptcha python http客户端
http_client = deathbycaptcha.HttpClient(username, password, authtoken)
或使用DeathByCaptcha python sockets客户端
socket_client = deathbycaptcha.SocketClient(username, password, authtoken)
有关更多详细信息,请参阅Python3项目示例.
创建新的Maven项目
mvn -B archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.5 -DgroupId=examples -DartifactId=deathbycaptcha-examples -Dpackage=examples -Dmaven.compiler.release=25
在maven pom.xml文件中包含以下依赖项
<dependencies>
<dependency>
<groupId>io.github.deathbycaptcha</groupId>
<artifactId>deathbycaptcha-java-library</artifactId>
<version>4.7.0</version>
</dependency>
</dependencies>
如果pom.xml正确.
我们可以在java文件中使用导入.
import com.DeathByCaptcha.AccessDeniedException;
import com.DeathByCaptcha.Client;
import com.DeathByCaptcha.HttpClient;
import com.DeathByCaptcha.SocketClient;
import com.DeathByCaptcha.Captcha;
...
清理并构建项目
mvn clean install -U
运行项目
mvn exec:java -Dexec.mainClass="examples.GetBalance" -Dexec.args=""
mvn exec:java -Dexec.mainClass="examples.ExampleRecaptchaV2"
...
有关更多详细信息,请参阅Java和Maven项目示例
使用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

Chinese
English
Spanish
Russian
French
Hindi
Arabic
Bengali
Indonesian
Portuguese
com,

