عندما يعرض تكامل CAPTCHA أخطاء غير متوقعة، فإن فحص حركة مرور HTTP الأولية يكشف ما يتم إرساله واستلامه بالفعل. يقع Charles Proxy بين الكود الخاص بك وCaptchaAI، مما يتيح لك رؤية كل طلب واستجابة وتفاصيل التوقيت.
الإعداد
1. قم بتثبيت وكيل تشارلز
تحميل منcharlesproxy.com. متوفر على أنظمة التشغيل Windows، وmacOS، وLinux.
2. تمكين وكيل SSL
يستخدم CaptchaAI HTTPS. لفحص حركة المرور المشفرة:
- الوكيل → إعدادات وكيل SSL → إضافة
- المضيف:
ocr.captchaai.com، المنفذ:443 - ** مساعدة ** -> SSL Proxying -> تثبيت شهادة Charles Root
- ثق بالشهادة الموجودة في مخزن شهادات نظام التشغيل لديك
3. قم بتكوين التعليمات البرمجية الخاصة بك لاستخدام Charles
يعمل تشارلز على localhost:8888 بشكل افتراضي.
بايثون:
import requests
proxies = {
"http": "http://localhost:8888",
"https": "http://localhost:8888",
}
# Disable SSL verification for Charles (development only)
resp = requests.post(
"https://ocr.captchaai.com/in.php",
data={"key": "YOUR_API_KEY", "method": "userrecaptcha", "json": "1"},
proxies=proxies,
verify=False,
)
Node.js:
const axios = require('axios');
const HttpsProxyAgent = require('https-proxy-agent');
const agent = new HttpsProxyAgent('http://localhost:8888');
const resp = await axios.post('https://ocr.captchaai.com/in.php', null, {
params: { key: 'YOUR_API_KEY', method: 'userrecaptcha', json: 1 },
httpsAgent: agent,
});
ما للتفتيش
إرسال الطلب (POST /in.php)
في تشارلز، انقر فوق الطلب إلى /in.php. تحقق:
| علامة التبويب | ما للتحقق |
|---|---|
| الطلب †' الرؤوس | نوع المحتوى صحيح |
| الطلب †' الجسم | جميع المعلمات المطلوبة موجودة |
| ** الرد ** † الجسم | {"status":1,"request":"TASK_ID"} على النجاح |
| التوقيت | مدة الطلب (يجب أن تكون أقل من 1 ثانية) |
المشاكل الشائعة المرئية في تشارلز:
- معلمة
methodمفقودة †'ERROR_BAD_PARAMETERS - نوع محتوى خاطئ -> لم يتم تحليل المعلمات
googlekeyفارغ †'ERROR_WRONG_GOOGLEKEY- نص JSON مشوه → استخدم بيانات النموذج، وليس نص JSON
طلب الاستطلاع (احصل على /res.php)
التحقق من طلبات الاستطلاع:
- المعلمات:
key،action=get،id=TASK_ID - الاستجابة:
CAPCHA_NOT_READY(استمر في الاقتراع) أو{"status":1,"request":"TOKEN"} - التوقيت: كل استطلاع يليه فترة نومك
تصحيح المشكلات الشائعة
المشكلة: ERROR_WRONG_GOOGLEKEY
في تشارلز، انظر إلى نص طلب الإرسال. ابحث عن الحقل googlekey:
# What Charles shows:
key=YOUR_API_KEY&method=userrecaptcha&googlekey=&pageurl=https://example.com&json=1
^^^^^^^^ empty!
إصلاح: فشل استخراج مفتاح الموقع في المنبع. تحقق من رمز الاستخراج الخاص بك.
المشكلة: تم رفض الرمز المميز من قبل الموقع المستهدف
قارن بين ما أعاده CaptchaAI وما تحقنه:
- في تشارلز، ابحث عن استجابة
/res.phpباستخدامstatus: 1 - انسخ الرمز المميز الكامل من حقل
request - ابحث عن الطلب اللاحق إلى الموقع المستهدف
- تحقق من وجود الرمز المميز في نص النموذج كـ
g-recaptcha-response
المشكلة: انتهاء مهلة الطلبات
استخدم عرض Charles Sequence لمعرفة التوقيت:
POST /in.php → 234ms ✓
GET /res.php → 189ms (CAPCHA_NOT_READY)
GET /res.php → 201ms (CAPCHA_NOT_READY)
GET /res.php → 195ms (CAPCHA_NOT_READY)
... 23 more ...
GET /res.php → 188ms (CAPCHA_NOT_READY) ← never resolves
إذا لم يتم حل المشكلة مطلقًا: تحقق مما إذا كان مفتاح الموقع وعنوان URL للصفحة صحيحين.
ميزات تشارلز لتصحيح أخطاء اختبار CAPTCHA
كرر الطلب
انقر بزر الماوس الأيمن فوق أي طلب †’ كرر لإعادة إرساله. مفيد لاختبار طلبات الاستطلاع دون إعادة تشغيل البرنامج النصي بأكمله.
نقاط التوقف
قم بتعيين نقطة توقف على /in.php لفحص الطلب وتعديله قبل إرساله:
- الوكيل → إعدادات نقطة التوقف → إضافة
- المضيف:
ocr.captchaai.com، المسار:/in.php - تحقق الطلب
- الآن يتوقف الكود الخاص بك مؤقتًا قبل الإرسال، ويمكنك تعديل المعلمات
الخريطة المحلية
استبدل استجابات واجهة برمجة التطبيقات (API) بالملفات المحلية للاختبار:
- الأدوات → الخريطة المحلية → إضافة
- قم بتعيين
https://ocr.captchaai.com/res.phpإلى ملف JSON محلي - إنشاء
mock_response.json:
{"status": 1, "request": "mock_token_for_testing"}
يتيح لك ذلك اختبار رمز حقن الرمز المميز الخاص بك دون استخدام أرصدة واجهة برمجة التطبيقات (API).
خنق
محاكاة الاتصالات البطيئة:
- الوكيل -> إعدادات الخانق -> تمكين
- اضبط الإعداد المسبق على سرعات 3G أو مستوى EDGE
- اختبر ما إذا كان الكود الخاص بك يتعامل مع الاستجابات البطيئة والمهلات بشكل صحيح
بدائل لتشارلز
| أداة | منصة | HTTPS | التكلفة |
|---|---|---|---|
| وكيل تشارلز | Win/Mac/Linux | يتطلب تثبيت الشهادة | مدفوعة (تجربة مجانية) |
| mitmproxy | Win/Mac/Linux | يتطلب تثبيت الشهادة | مجاني |
| عازف الكمان | ويندوز | فك تشفير HTTPS المدمج | مجاني |
| الوكيل | ماك | إعداد HTTPS بنقرة واحدة | فريميوم |
mitmproxy الإعداد السريع
# Install
pip install mitmproxy
# Run
mitmproxy --listen-port 8080
# Configure Python
proxies = {"https": "http://localhost:8080"}
استكشاف الأخطاء وإصلاحها
| مشكلة | السبب | إصلاح |
|---|---|---|
| أخطاء SSL في التعليمات البرمجية | شهادة تشارلز غير موثوقة | تثبيت شهادة الجذر تشارلز. استخدم verify=False للتطوير |
| لا توجد طلبات مرئية | الكود لا يستخدم الوكيل | قم بتعيين الوكيل في تكوين طلبات/axios |
| استجابة HTTPS مشوشة | لم يتم تمكين وكيل SSL | أضف ocr.captchaai.com إلى إعدادات وكيل SSL |
| تشارلز يبطئ الطلبات | تم تمكين نقاط التوقف | قم بتعطيل نقاط التوقف عند عدم الحاجة إليها |
الأسئلة الشائعة
هل يجب أن أستخدم تشارلز في الإنتاج؟
لا، تشارلز هو أداة للتطوير والتصحيح. استخدم التسجيل والمراقبة المنظمة لإمكانية ملاحظة الإنتاج.
هل يؤثر التوجيه عبر Charles على حل اختبار CAPTCHA؟
لا، CaptchaAI لا يرى تشارلز كوكيل - فطلباتك تمر بشفافية.
تصحيح وتحسين تكامل CaptchaAI
احصل على مفتاح API الخاص بك علىcaptchaai.com.