API
لأغراض الأتمتة ، يوفر Death By Captcha (DBC) واجهات برمجة تطبيقات للمستخدمين والمطورين للتكامل مع أي برنامج معين.
تسير عملية الحل على النحو التالي:
تحقق من تفاصيل API أدناه للحصول على معلومات وموارد إضافية لتنفيذ DBC باستخدام الأداة (الأدوات) المفضلة و / أو لغة البرمجة!
- .NET (C#, VB, GitHub, Selenium, NuGet)
- AutoIt3
- C (C11) (GitHub) (رمز المصدر العميل و lib)
- Java (GitHub, Maven, Selenium)
- Perl 5+
- PHP v7+
- Python3 (GitHub, PyPI, Selenium)
- Node.js (GitHub, npm, Selenium)
- أداة سطر الأوامر ل Windows, Linux, MacOS (انظر ملاحظة الاستخدام أدناه)
للغات أخرى، راجع موقعنا API metadata specifications (OpenAPI/AsyncAPI) لإنشاء العملاء تلقائياً.
عملاء الطرف الثالث
- Captchas الصورة العادية مع النص (بما في ذلك captchas حساسة لحالة الأحرف ، و captchas رياضية ، وما إلى ذلك)
- 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
يمكنك استخدام ChromeDriver لـ Chrome أو Geckodriver لـ Firefox
ويمكن التبديل بين هذه التعريفات في كود المصدر C#.
استنساخ مشروع .NET من GitHub
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
يمكنك استخدام ChromeDriver لـ Chrome أو Geckodriver لـ Firefox
ويمكن التبديل بين هذه التعريفات في كود المصدر 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
يمكنك استخدام ChromeDriver لـ Chrome أو Geckodriver لـ Firefox
ويمكن التبديل بين هذه التعريفات في كود المصدر NodeJS.
استنساخ مشروع NodeJS من GitHub
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 // لتثبيت مكتبة DBC من npm
node examples/selenium/recaptcha_v2_selenium.js // لتشغيل المثال
راجع أمثلة مشروع NodeJS للحصول على مزيد من التفاصيل
نحن نستخدم Python v3+
تأكد من أنك قد قمت بتنزيل درايفر متصفح selenium بالفعل
والتحقق المزدوج ملف البرنامج المشغل قيد التشغيلPATH
يمكنك استخدام ChromeDriver لـ Chrome أو Geckodriver لـ Firefox
ويمكن التبديل بين هذه التعريفات في كود المصدر Python3.
قم بتنزيل مشروع Python3 Selenium من القائمة أعلاه
تحرير python_selenium_example.py وضع بيانات اعتمادك هناك
USERNAME = 'DBC_USERNAME' # اسم المستخدم DBC الخاص بك هنا
PASSWORD = 'DBC_PASSWORD' # كلمة مرور DBC الخاصة بك هنا
في المجلد حيث requirements.txt الملف يقع
قم بتنفيذ الأوامر التالية لتشغيل المثال:
python3 -m venv venv لإنشاء venv python3 جديد
. venv/bin/activate لتفعيل venv
pip3 install -r requirements.txt لتثبيت التبعيات
python3 python_selenium_example.py
راجع أمثلة مشروع Python3 للحصول على مزيد من التفاصيل
إنشاء بيئة افتراضية Python3 جديدة
python3 -m venv venv
تفعيل البيئة الافتراضية
. venv/bin/activate
تثبيت مكتبة DeathByCaptcha من pypi
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 للحصول على مزيد من التفاصيل
عند استخدام عملاء API Socket ، تأكد من عدم وجود اتصالات TCP الصادرة إلى المنافذ 8123-8130 جدار الحماية. استخدم عملاء HTTP API إذا كان عملاء API Socket لا يعملون من أجلك. نطاق المنافذ 8123-8130 مخصصة لمقبس التوصيل فقط ، لا تحاول استخدامه مع HTTP API!
لاحظ أن مكالمة إلى وظيفة/طريقة Decode يمكن أن تُرجع قيمة فارغة إذا تم الوصول إلى المهلة قبل حل Captcha. إذا حدث هذا في كثير من الأحيان ، وزيادة المهلة المستخدمة.
لمزيد من التفاصيل ، انظر الأمثلة المضمنة في كل حزمة عميل API وتحقق من رمز مصدر العملاء.
- للتحقق من رصيدك ، قم بتشغيل:
deathbycaptcha.exe -l USERNAME -p PASSWORD -b
أو باستخدام رمز المصادقةdeathbycaptcha.exe -a AUTHTOKEN -b
سيتم حفظ رصيدك في ملفBalance.txtوطباعته على الإخراج القياسي. - لتحميل captcha ، قم بتشغيل:
deathbycaptcha.exe -l USERNAME -p PASSWORD -c CAPTCHA_FILE_NAME [-t TIMEOUT]
أو باستخدام رمز المصادقةdeathbycaptcha.exe -a AUTHTOKEN -c CAPTCHA_FILE_NAME [-t TIMEOUT]
المهلة الافتراضية Captcha Solving هي 60 ثانية.
إذا تم حلها ، فسيتم حفظ معرف Captcha فيid.txt، سيتم حفظ نص Captcha فيAssew.txt، وسيتم طباعة كل من المعرف والنص على الإخراج القياسي مفصولة بمساحة. - للإبلاغ عن captcha تم حلها بشكل غير صحيح ، قم بتشغيل:
deathbycaptcha.exe -l USERNAME -p PASSWORD -n CAPTCHA_ID
أو باستخدام رمز المصادقةdeathbycaptcha.exe -a AUTHTOKEN -n CAPTCHA_ID
لمزيد من تفاصيل استخدام CLI وأمثلة إضافية، راجع توثيق CLI على GitHub.
قبل تنفيذ خاصتك Death By Captcha HTTP API Client ، يرجى النظر بجدية في استخدام API Socket مع أحد عملائنا الرسميين المدرجين أعلاه.
عنوان URL API هو http://api.dbcapi.me/api/.
مسار url يتغير اعتمادًا على الإجراء المطلوب. جميع الردود من الطلبات المقدمة إلى واجهة برمجة التطبيقات لها حقلين مشتركان:
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 على الصور ويتطلب إدخال سلسلة من الأحرف أو الأرقام من صورة مشوهة.
لتحميل captcha ، أصدر طلب POST multipart/form-data إلى http://api.dbcapi.me/api/captcha.
يجب أن يحتوي الطلب على الحقول التالية:
username— الخاص بك Death By Captcha اسم المستخدم.password— كلمة مرور Death By Captcha.captchafile— صورة Captcha.
في حال كنت تستخدم المصادقة الرمزية:
authtoken— الخاص بك Death By Captcha رمز المصادقة.captchafile— صورة Captcha.
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 --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 بنجاح ،الموقعسوف يوجهك رأس http إلى صفحة حالة captcha المحمّلة ، فيمكنك اتباعالموقعإلى الحصول على حالة captcha المحمّلة. أيضا ، سيتم إرجاع الحقول التالية:
captcha— معرف Captcha تم تحميله.is_correct— 1 إذا تم تحديد إجابة لهذا Captcha أو لا يزال يتم معالجتها ، 0 إذا انتهت المعالجة ولا يمكن العثور على إجابة.text— إجابة Captcha. سلسلة فارغة تعني أن Captcha لم يتم حلها بعد.
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 ؛ إذا كنت متأكدًا من أنك ترسل طلبات منظمة بشكل صحيح مع صور 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 من captcha حلت بشكل صحيح
status=0&captcha=1234&is_correct=1&text=tyrone+slothrop
-
استجابة JSON المشفرة من captcha حلشها بشكل صحيح
{ "captcha": 1234, "is_correct": true,"status": 0, "text": "tyrone slothrop" } -
استجابة json المشفرة من captcha حلت بشكل غير صحيح
{ "captcha": 1234, "is_correct": false, "status": 0, "text": "?" } -
استجابة JSON المشفرة لكسر
{ "captcha": 0, "status": 0 }إذا حصلت على هذا الرد ، فأكّن أن معرف Captcha الذي تستخدمه للاستطلاع للإجابة هو نفسه الذي تم إرجاعه عند تحميله. إذا استمرت المشكلة ، فلا تتردد في اتصل بنا .
يرجى لا استطلاع للحصول على حالة Captcha أكثر من مرة في بضع ثوان .
يعتبر هذا سلوكاً مسيئاً وقد يؤدي إلى حظرك.
يرجى الحفاظ على عرض النطاق الترددي الخاص بك وعرض النطاق الترددي الخاص بنا.
إذا كنت تعتقد أن Captcha الخاص بك قد تم حلها بشكل غير صحيح ، فأبلغها بـ 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) لم يتم تحميل 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- أو JSON ، مع الحقول التالية:
user— الخاص بك Death By Captcha معرف الحساب ؛rate— إلى أي مدى نتقاضى لك مقابل حلها بشكل صحيح captcha ، في US¢ ؛balance— رصيدك الائتماني الحالي ، في US¢.is_banned— 1 إذا تم حظر المستخدم ، 0 إذا لم يكن كذلك.
مثال على الاستجابة المصنوعة من JSON:
{ "is_banned": false, "status": 0, "rate": 0.139,"balance": 455.23, "user": 43122 }
من أجل تلقي حالة الخادم الحالية ، قم بإصدار طلب الحصول على 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

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

