ForHosting KIT · قراءة المواقع ومراقبتها

تحليل User-Agent لمعرفة المتصفح والنظام ونوع الجهاز

تكون ترويسة User-Agent مختصرة، إلا أن قراءتها ليست سهلة لأن الشركات تجمع رموز المنتجات وعلامات التوافق وإشارات نظام التشغيل وبيانات الجهاز في سطر واحد.

● Betaمجاني · داخل متصفحك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

يحوّل هذا المحلل السطر إلى نتيجة متوقعة تتضمن اسم المتصفح وإصداره، ونظام التشغيل وإصداره، وفئة عملية لنوع الجهاز. وهو يستخدم قواعد أنماط واضحة وحتمية، لذلك تعطي المدخلات نفسها المخرجات نفسها دائماً، من دون طلبات شبكة أو عشوائية أو بصمة رقمية أو إثراء خفي للبيانات.

يرجى تقديم الترويسة كاملة كلما أمكن

يرجى لصق قيمة ترويسة HTTP المسماة User-Agent في الحقل user_agent، مع تضمين جميع رموز المنتجات وقسم المنصة الواقع بين قوسين. توفر السلاسل الكاملة أدلة كافية للتمييز بين المتصفحات التي تشترك في تقنية العرض نفسها. فعلى سبيل المثال، قد تحتوي السلاسل الحديثة لمتصفحات Edge وOpera وSamsung Internet وChrome جميعها على رمز Chrome؛ لذلك يتحقق المحلل من المعرّفات الأكثر تحديداً قبل اعتماد مطابقة Chrome العامة. ويهم هذا الترتيب أيضاً مع Firefox وChrome على iOS، إذ تفرض منصة Apple سلاسل تختلف عن إصدارات سطح المكتب. تُهمل المسافات في بداية القيمة ونهايتها، لكن القيمة الفارغة أو المؤلفة من مسافات فقط تُرفض بوصفها إدخالاً غير صالح، إذ لا تتضمن ما يمكن تصنيفه. لا يتصل المحلل بالجهاز، ولا يبحث عن عنوان IP، ولا يفحص Client Hints، ولا يربط السلسلة بمعرّفات أخرى. إذا كنتم تحتاجون إلى أرقام الإصدارات، فأرسلوا الترويسة الأصلية بدلاً من وصف مختصر مثل «Chrome على Windows». قد تُقبل سلسلة مختصرة أو غير مألوفة، لكن الحقول التي لا يدعمها دليل معروف تعود بالقيمة غير معروف وبإصدار null، بدلاً من تخمين معلومات لا تحملها السلسلة.

تعرّفوا إلى قواعد المتصفح ونظام التشغيل

يتبع الكشف جدول أولوية ثابتاً مبنياً على رموز User-Agent الشائعة. تُفحص الرموز الخاصة مثل Edg وOPR وSamsungBrowser وCriOS وFxiOS قبل الأنماط العامة لمتصفحات Chrome وFirefox وSafari. يمنع ذلك تصنيف متصفح مبني على Chromium على أنه Chrome لمجرد أن ترويسته تذكر Chrome لأغراض التوافق. ويستخدم Safari رمز Version لأن رمز Safari المنفصل يصف عائلة المنتج لا رقم الإصدار المنشور للمتصفح. ويعمل تحليل نظام التشغيل بحذر مماثل؛ إذ يُفحص Windows Phone قبل Windows المكتبي، وAndroid قبل Linux العام، وiOS قبل مقاطع التوافق الخاصة بـmacOS. كما تُحوّل الشرطات السفلية في إصدارات Apple إلى نقاط. وتُطابق قيم Windows NT مع الإصدارات المعروفة حين توجد مطابقة اصطلاحية موثوقة؛ أما Windows NT 10.0 فيظهر عمداً بوصفه «10 أو 11»، لأن الترويسة التقليدية وحدها لا تفصل بينهما بثقة. هذه قواعد لأنماط معروفة وليست استنتاجات احتمالية. لذلك قد تعطي المنتجات الجديدة أو السلاسل المختصرة لحماية الخصوصية أو عروض الويب المضمنة أو النسخ الخاصة بالشركات نتيجة غير معروف أو عائلة عامة إلى أن يتوفر رمز واضح. وهذا السلوك المتحفظ أكثر أماناً من اختلاق دقة غير موجودة.

استخدموا نوع الجهاز فئة عملية لا إثباتاً للهوية

تعطي نتيجة device_type فئة تشغيلية عامة: جهاز مكتبي أو هاتف محمول أو جهاز لوحي أو روبوت أو غير معروف. تُفحص مؤشرات الأجهزة اللوحية قبل مؤشرات الهاتف العامة، لأن كثيراً من أجهزة Android اللوحية تذكر Android وتحذف Mobile عمداً. وتُصنّف الهواتف المعروفة وiPhone وiPod وWindows Phone وغيرها من الرموز المحمولة ضمن فئة الهاتف المحمول. أما الكلمات الشائعة لبرامج الزحف فتعطي فئة الروبوت، وهو أمر مفيد لتلخيص السجلات، لكنه لا يحل محل ضوابط إساءة الاستخدام متعددة الطبقات أو توثيق برامج الزحف المعتمدة. ويُصنّف نظام تشغيل مكتبي أو متصفح مكتبي معروف ضمن فئة الجهاز المكتبي افتراضياً، بينما تعود السلسلة الخالية من أي دليل معروف على المتصفح أو النظام بفئة غير معروف. تصف هذه الفئات ما اختار المرسل الإعلان عنه، ولا تثبت نوع جهاز مادي. يمكن تعديل User-Agent، ويمكن للعملاء الآليين تقليد المتصفحات، كما تقلل تقنيات الخصوصية الحديثة مقدار التفاصيل عمداً. استخدموا النتيجة للتقارير أو إثراء السجلات أو إرشادات التوافق أو اختيار تجربة أولية مناسبة. ولا تستخدموها حاجزاً أمنياً أو بصمة فريدة أو دليلاً على ملكية الجهاز. وعندما تؤثر الدقة في الوصول أو المدفوعات أو مكافحة الاحتيال، فاجمعوا بين التفويض من جهة الخادم وإشارات المخاطر المتخصصة.

إثراء سجلات الطلبات

حوّلوا الترويسات الخام إلى أعمدة متسقة للمتصفح والنظام والجهاز كي تصبح تقارير التشغيل أسهل قراءة.

تلخيص حركة الزيارات

اجمعوا الزيارات ضمن فئات عامة للمتصفح والجهاز من دون إرسال الترويسة إلى خدمة خارجية.

اختيار إعدادات توافق أولية

اختاروا واجهة أولية أو رسالة دعم مناسبة، مع إبقاء كشف الميزات هو المرجع النهائي.

ما تكلفة عملية التحليل الواحدة؟

تبلغ تكلفة كل طلب API مقدار $0.002. ويمكن أيضاً تشغيل النسخة الحتمية الخاصة بالمتصفح محلياً داخل الصفحة.

لماذا يظهر Windows بوصفه 10 أو 11؟

تعرض سلاسل User-Agent التقليدية عادة Windows NT 10.0 لكليهما، لذلك لا تستطيع الترويسة وحدها التمييز بينهما بثقة.

هل يصلح User-Agent لاتخاذ قرارات أمنية؟

لا. يستطيع العميل تغيير الترويسة أو تقليدها. تعاملوا مع النتيجة على أنها بيانات وصفية، لا هوية موثقة ولا دليلاً على التفويض.

ماذا يحدث عندما لا يُعرف المتصفح؟

يعود المتصفح بالقيمة غير معروف ويكون الإصدار null. وتظل أي إشارات معروفة إلى النظام أو الجهاز ظاهرة في النتيجة.

هل يتصل التحليل بخدمة خارجية؟

لا. فهو يستخدم قواعد محلية وحتمية بلا طلبات شبكة أو بصمة رقمية أو إثراء اعتماداً على عنوان IP.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/web/user-agent-parse

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/web/user-agent-parse \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"}'
{
  "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.user_agent_parse",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

timeout_sec30
max_crawl_pages25
HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

اطّلع على توثيق KIT الكامل ←