ForHosting KIT · أدوات المطورين

مرمّز IDNA

تصبح münchen.example.com هي xn--mnchen-3ya.example.com: تأخذ كل تسمية فيها حروف مشكّلة أو كتابة أخرى صيغتها xn--، وتبقى التسميات المكتوبة بحروف ASCII فقط كما هي. وبالعكس، افكك اسم مضيف من سجل أو ترويسة بريد لتقرأه. مجاني في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا
إذا أدخلت
النص
münchen.example.com
وضع الحساب
Encode
تحصل على
النتيجة
xn--mnchen-3ya.example.com
رموز ASCII
xn--mnchen-3ya.example.com
رموز Unicode
münchen.example.com
عدد التسميات
3

تسمح أسماء النطاقات الدولية للعلامات والمدن والأسماء الشخصية بالظهور بخطوط أصلية على الشبكة العامة، غير أن نظام أسماء النطاقات ما زال ينقل التسميات كترميزات متوافقة مع ASCII. تربط IDNA (Internationalized Domain Names in Applications) كل تسمية Unicode من نوع U-label بتسمية A-label تبدأ بـ xn-- وتحمل Punycode وفق RFC 3492، ثم تعكس الربط ليقرأ المشغّلون الاسم المقصود مجددًا. تقبل هذه القدرة اسم مضيف كامل متعدد التسميات —وليس تسمية واحدة فقط— وتحوّل في الاتجاهين بحقل mode بسيط: encode لـ ToASCII وdecode لـ ToUnicode. تمر التسميات ASCII الخالصة دون تغيير؛ وتُعالَج الأسماء المختلطة مثل تسمية مدينة مع TLD تقليدي تسميةً تسمية.

ترميز اسم مضيف Unicode إلى ASCII وفق IDNA (ToASCII / xn--)

يقسم المحرك اسم المضيف عند النقاط، ويطوي كل تسمية بطريقة مستقلة عن اللغة المحلية، ويعالج التسميات على حدة بحيث يُحوَّل اسم مختلط بتسمية يسار غير ASCII بجانب يمين ASCII دون إجبار السلسلة كلها عبر مرمّز واحد. تمر تسميات LDH ASCII الخالصة دون تغيير ودون بادئة xn-- بما يوافق ممارسة IDNA للأسماء التي لم تحتج تدويلًا.

عندما تحتوي تسمية على أي نقطة رمز غير ASCII يشغّل المحرك مرمّز Punycode وفق RFC 3492 ويضيف البادئة xn-- لإنتاج A-label المستخدمة في ملفات منطقة DNS وSAN الشهادات وقواعد مضيف الوكيل العكسي وعروض شبيهة بـ WHOIS. تُتحقق التسميات التي تبدو أصلًا أشكال ACE برحلة ذهاب وعودة decode-and-re-encode فتفشل سلسلة xn-- المعدّلة يدويًا بإغلاق محكم بدل الوثوق الأعمى. المدخلات المتطابقة تنتج دائمًا مخرجات متطابقة لأن المسار حساب صرف بلا شبكة ولا ملح عشوائي ولا ساعة حائط.

استخدموا هذا المسار عندما تحتاجون اسم مضيف ASCII آمنًا للصق في قائمة ترحيل أو سطر منطقة أو إدخال SAN لـ ACME أو تذكرة دعم يجب أن تبقى في أنظمة تقبل أسماء ASCII فقط. يفرض DNS حدًا من ثلاثة وستين ثُمانيًا لكل تسمية ومئتين وثلاثة وخمسين حرفًا لاسم المضيف ASCII المجمّع؛ يفحص هذا المحرك الاثنين حتى تفشل الأسماء الدولية المفرطة مبكرًا بدل إنتاج سلاسل غير قابلة للنشر.

تُحفظ صيغة FQDN ذات النقطة الختامية عند وجودها، بينما تُرفض النقاط البادئة والمتتالية والمخططات والمسارات والمنافذ ومعلومات المستخدم حتى تبقى صفحة SEO مركزة على تحويل النطاق العاري.

فك ترميز أسماء مضيف ACE إلى Unicode والإبلاغ عن تسميات غير صالحة

اضبطوا mode على decode وضعوا في text اسم مضيف ASCII أو ACE مختلطًا مثل xn--mnchen-3ya.example.com. يمر المحرك على كل تسمية، ويزيل بادئة xn-- عند وجودها، ويتحقق من أن الجسم يستخدم فقط الأبجدية الأساسية من أحرف وأرقام وواصلات داخلية، ثم يشغّل فاكك RFC 3492 لاستعادة نقاط رمز Unicode —بما في ذلك رموز المستوى التكميلي الممثلة بأزواج بديلة في سلاسل JavaScript. تمر تسميات ASCII الخالصة غير ACE في decode، وتُقبل تسميات Unicode الموجودة أصلًا في اسم مضيف مختلط وتُعاد اشتقاقها إلى ASCII في الحقل ascii حتى تقدّم الاستجابة دائمًا العرضين.

فضّلوا هذه القدرة عندما تكون نية البحث مرمّز أو فاكك نطاقات IDNA لأسماء مضيف كاملة؛ أما تجارب جسم Punycode لتسمية واحدة وحل DNS الحي فهما لأدوات أخرى. ثبّتوا مثبتات ذهبية على encode وdecode للأسماء متعددة التسميات حتى تلتقط التكامل المستمر أي تغيير عرضي في معاملات Bootstring أو قواعد بادئة ACE أو تقسيم أسماء المضيف.

الاستخدام في DNS والحدود العملية

يتحقق سير آخر من أن عينات التوثيق ما زالت تدور ذهابًا وعودة قبل الإصدار بتثبيت حقلي ascii وunicode في مثبتات التكامل المستمر. عالجوا أسماء المضيف الكاملة في استدعاء واحد —تصميم متعدد التسميات مقصود حتى يتوافق SEO والمنتج مع «مرمّز نطاقات IDNA» بدل إجبار العملاء على تقسيم التسميات وإعادة جمعها. تتبع أسماء المصدر قواعد الاحتفاظ نفسها لبقية عناصر parse في KIT، والنتائج آمنة للتثبيت في المثبتات لأن الخوارزمية حتمية تمامًا عبر العوازل.

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

تحضير منطقة DNS والشهادات

رمّزوا أسماء مضيف علامات أو مدن Unicode إلى شكل ASCII xn-- قبل كتابة ملفات المنطقة أو قوائم SAN لـ ACME أو قواعد مضيف الوكيل العكسي التي تقبل ASCII فقط.

الدعم وقابلية قراءة السجلات

افكوا ترميز أسماء مضيف ACE من ترويسات البريد وسجلات شفافية الشهادات وأنظمة التذاكر إلى Unicode مقروء للوكلاء والعملاء.

التوثيق وفحوصات CI الذهبية

ثبّتوا مثبتات encode وdecode لأسماء IDNA متعددة التسميات حتى تفشل عينات التوثيق واختبارات التكامل المستمر بسرعة إذا انحرف التعامل مع ACE.

كيف نفك ترميز اسم مضيف xn-- إلى Unicode؟

اضبطوا mode على decode وضعوا اسم المضيف ACE في text. يعيد الحقل result شكل Unicode عندما تكون كل تسمية صالحة.

ماذا يحدث عند تسمية IDNA غير صالحة؟

تذكر الرسالة موضع التسمية والسبب (جسم xn-- فارغ، Punycode سيئ، تسميات فارغة، حدود الطول). لا تُحسب الإخفاقات.

هل يمكن تحويل اسم مضيف كامل متعدد التسميات؟

نعم. بخلاف أدوات Punycode لتسمية واحدة، تقبل هذه القدرة نطاقات متعددة التسميات وتحوّل كل تسمية بقواعد IDNA مع إرجاع عرضي ascii وunicode.

ما الطول الأقصى لاسم النطاق؟

يمكن أن تصل كل تسمية بين نقطتين إلى ثلاثة وستين بايتًا بعد التحويل، وأن يصل الاسم الكامل بصيغة ASCII إلى مئتين وثلاثة وخمسين حرفًا. وتفحص الأداة الحدّين حتى يُكتشف الاسم الطويل مبكرًا.

هل يمكنني لصق عنوان كامل مع المسار؟

لا. تُحوَّل أسماء المضيف المجردة فقط، وتُرفض البروتوكولات والمسارات والمنافذ وبيانات المستخدم والنقاط في البداية أو المتتالية. أما النقطة الأخيرة في نهاية الاسم فتبقى كما هي.

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

POSThttps://api.kit.forhosting.com/enc/idna

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

curl -X POST https://api.kit.forhosting.com/enc/idna \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"münchen.example.com"}'
{
  "text": "münchen.example.com"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.idna",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

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

لكل طلب$0.002

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

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

تفشل أجسام ACE الفارغة وPunycode المقطوع والأحرف غير القانونية والنقاط المتتالية والمخططات والمسارات وانتهاكات طول DNS بـ invalid_input يذكر فهرس التسمية المعيبة بدل إفساد السلسلة بصمت. تعمل أداة المتصفح المجانية بالكامل على جهازكم للفحوصات السريعة؛ وتعرض واجهة API المدفوعة مسبقًا العقد الحتمي نفسه بسعر $0.002 لكل عنصر ناجح للسكربتات وSDK وأدوات الشهادات وأتمتة المناطق التي تحتاج خطوة تحويل IDNA مستقرة دون سحب مكتبة خاصة بلغة في كل خدمة.

ترميز اسم مضيف Unicode إلى ASCII وفق IDNA (ToASCII / xn--)

أرسلوا جسم JSON مع الحقل النصي الإلزامي text مضبوطًا على اسم نطاق دولي كامل —مثل علامة مدينة بعلامة تشكيل متبوعة بمستوى ثانٍ ونطاق أعلى تقليديين— واتركوا mode على القيمة الافتراضية encode أو اضبطوه صراحة على encode. تتضمن الاستجابة result (اسم المضيف ASCII الكامل) وascii (شكل السلك نفسه) وunicode (عرض Unicode المطوي) وlabel_count وhas_ace true عند استخدام أي تسمية لـ ACE وmode encode وmethod idna حتى تثبّت الاختبارات كل حقل.

فك ترميز أسماء مضيف ACE إلى Unicode والإبلاغ عن تسميات غير صالحة

بعد فك تسمية يعيد الترميز ويشترط ذهابًا وعودة دقيقين مقابل الجسم حتى تفشل سلاسل ACE المقطوعة أو المعدّلة يدويًا بإغلاق مع invalid_input بدل إرجاع رسوم معقولة لكنها خاطئة. تثير الأجسام الفارغة بعد xn-- والأحرف غير القانونية مثل علامات الترقيم وظروف الفيضان والتسميات الفارغة من النقاط المتتالية والتسميات التي تتجاوز حدود طول DNS رسالة invalid_input وصفية تتضمن موضع التسمية من واحد حتى تبرز الأدوات الجماعية المقطع السيئ. يعيد decode الناجح result وunicode كشكل U-label مقروء وascii كشكل السلك وlabel_count وhas_ace true عند وجود ACE وmode decode وmethod idna. لا تُحسب فشل التحقق على API المدفوعة مسبقًا بعد رفض المحرك، فيبقى decode الاستكشافي لسطور السجل المشبوهة رخيصًا مع حماية الرصيد من نجاح صامت على مدخلات تالفة.

استخدام API والتسعير وسير عمل DNS والحدود العملية

استدعوا مرمّز نطاقات IDNA المجاني في المتصفح لدفاتر دعم الدعم وعروض الصفوف وفحوصات اسم مضيف لمرة واحدة دون تثبيت حيل OpenSSL s_client أو بيئات تشغيل لغات. استخدموا API المدفوعة مسبقًا في KIT عندما يحتاج خلفية أو لوحة مسجّل أو مهمة أتمتة شهادات أو بوابة بريد أو SDK نفس خطوة encode أو decode تحت الرصيد بسعر $0.002 لكل عنصر ناجح؛ ولا تستهلك إخفاقات التحقق الرصيد بعد رفض المحرك. يرمّز سير عمل نموذجي اسم مضيف علامة Unicode قبل كتابة A-labels في قالب منطقة أو قائمة server_name لوكيل عكسي، ثم يفك أسماء ACE المنسوخة من ترويسات البريد أو سجلات شفافية الشهادات أو مواضيع التذاكر ليقرأ المشغّلون U-labels المقصودة. يمكن لمؤلفي SDK تعيين حقل result إلى زر نسخ بينما تجعل ascii وunicode وlabel_count وhas_ace أمثلة OpenAPI مفهومة لمن يتعلمون IDNA لأول مرة.

كيف نحوّل نطاق Unicode إلى ASCII وفق IDNA؟

أرسلوا JSON مع text مضبوطًا على اسم المضيف الكامل (مثل münchen.example.com) وmode encode (أو احذفوا mode). يعيد الحقل result الشكل ASCII مثل xn--mnchen-3ya.example.com.

هل مرمّز نطاقات IDNA مجاني؟

تعمل أداة المتصفح مجانًا على جهازكم. تستخدم استدعاءات API رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل عنصر ناجح؛ ولا تُحسب إخفاقات التحقق.

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