اختبار CAPTCHA API في Insomnia
أنشئ مهمة بجسم JSON، وانسخ معرّف المهمة المُعاد، ثم استرجع تلك المهمة حتى تصبح حالتها ready أو failed. لا تحتاج إلى ربط الاستجابات لهذا الاختبار.
في هذه الصفحة
تحضير إعداداتك المحلية
تحتاج إلى مفتاح API لمساحة العمل، وملف تعريف نشط للموقع المستهدف، ووكيل. أعدّ ملف تعريف الموقع قبل إرسال المهمة: فتوفير اسم مضيف وإجراء لا ينشئ ملف تعريف.
استخدم بيئة محلية خاصة باسم solvethree-local تتضمن المتغيرات أدناه. هذه أسماء اختيرت لهذا الدليل، وليست حقول API إضافية. لا تضع مفتاح API وبيانات اعتماد الوكيل في الإعدادات المشتركة.
| الاسم | القيمة |
|---|---|
api_base | https://api.solvethree.com/v1 |
api_key | مفتاح API الخاص بمساحة عملك. |
site | اسم المضيف المُعدّ في ملف تعريف موقعك النشط، وليس عنوان URL كاملًا لصفحة. |
action | إجراء reCAPTCHA الذي يستخدمه الطلب المستهدف. |
proxy | عنوان URL لوكيل HTTP أو HTTPS الخاص بك، من دون مسار أو استعلام أو جزء fragment. |
request_id | معرّف لهذه المهمة المنطقية: من 1–64 حرفًا من حروف ASCII أو أرقامًا أو شرطات سفلية أو شرطات. |
task_id | اتركه فارغًا إلى أن توفر استجابة الإنشاء معرّف المهمة. |
أنشئ المهمة، ثم انسخ معرّفها
- 1.
ضبط طلب الإنشاء
أنشئ طلب POST باستخدام
api_baseمتبوعًا بـ/tasks. أضف معامل الاستعلامwaitMsبالقيمة0. اختر مصادقة Bearer وقدّمapi_keyبوصفه الرمز؛ يجب أن يرسل الطلب ترويسةAuthorizationباستخدام مخطط Bearer. - 2.
أنشئ جسم JSON
اختر جسم JSON يحتوي على
siteوactionوproxyوrequestId. املأ الحقول الثلاثة الأولى من المتغيرات المحلية المطابقة لها، واملأrequestIdمنrequest_id. أرسل واحدًا فقط منproxyأوproxyCandidates؛ يستخدم هذا الدليلproxy. لا تضفtypeأوurl. يؤدي حذفrecaptchaTypeإلى اختيار القيمة الافتراضية، وهيenterprise-v3. - 3.
أرسل الطلب وافحص الاستجابة
تحقق من استجابة HTTP قبل قراءتها بوصفها بيانات مهمة ناجحة. إذا نجح الإنشاء، فانسخ معرّف المهمة المُعاد إلى
task_id. احتفظ بجسم المهمة وrequest_idفي متناولك تحسبًا للحاجة إلى استعادة الطلب. - 4.
استرجع تلك المهمة
أنشئ طلب GET باستخدام
api_baseمتبوعًا بـ/tasks/ومعرّف المهمة المنسوخ. اضبطwaitMsعلى15000، واستخدم مفتاح Bearer نفسه، واترك الجسم فارغًا. انسخ المعرّف يدويًا؛ لا يعتمد هذا الدليل على تعبير لربط الاستجابات.
Create task
Method: POST
URL: https://api.solvethree.com/v1/tasks?waitMs=0
Auth: Bearer Token — your private workspace key
Body: JSON — site, action, proxy and a stable requestId
Retrieve task
Method: GET
URL: https://api.solvethree.com/v1/tasks/PASTE_RETURNED_ID?waitMs=15000
Auth: Bearer Token — the same workspace key
Body: none
Keep the task's proxy in the JSON body. Insomnia's own network proxy setting
controls its API connection, not the proxy used to generate/submit the solution.حدد كيفية التعامل مع الاستجابة
- يعيد طلب HTTP استجابة غير ناجحة.
افحص خطأ HTTP قبل محاولة قراءة بيانات مهمة ناجحة.
جرّب هذا: صحح مشكلة الطلب أو المصادقة المُبلّغ عنها. لا تكرر إرسال مدخلات غير صالحة من دون تغيير، ولا تفترض أن كل خطأ يعني عدم كفاية الرصيد.
- حالة المهمة هي
pendingأوsolving. لا تتضمن أي من الحالتين حلًا قابلًا للاستخدام.
جرّب هذا: أرسل طلب GET مجددًا لمعرّف المهمة نفسه. لا تنشئ مهمة أخرى لمجرد أن هذه المهمة لم تنتهِ بعد.
- حالة المهمة هي
failed. اقرأ
errorCodeوerror؛ يُعدّsite-unreachableأحد أخطاء المهمة المحتملة.جرّب هذا: توقف عن استرجاع تلك المهمة وعالج السبب المُبلّغ عنه قبل بدء أخرى. تُردّ تكلفة محاولات الحل الفاشلة.
- تنتهي مهلة طلب الإنشاء من دون إعادة معرّف.
انتهاء مهلة الاتصال لا يثبت فشل الإنشاء.
جرّب هذا: أعد إرسال جسم المهمة نفسه باستخدام
requestIdنفسه لاستعادة المهمة الموجودة. يؤدي تغيير المدخلات مع إعادة استخدام ذلك المعرّف إلى تعارض.
توفر مهمة reCAPTCHA ذات الحالة ready رمزًا. إذا أرسلته إلى الهدف، فاستخدم userAgent وsecChUa المُعادين مع الوكيل نفسه المستخدم للحل. تؤكد استجابة الجاهزية توليد حل، وليس نجاح طلب تطبيقك.
المصادر ومرجع API
شغّل مهمتك الأولى.
ابدأ برصيد قدره $5 في مساحة العمل.