فك تشفير URL
قم بتحويل عناوين URL المشفرة إلى نص يمكن للبشر قراءته. يتعامل مع كل من تسلسلات %XX حسب RFC 3986 والمسافات المشفرة بـ + من إرسال النماذج HTML.
تحتوي سجلات وصول الخادم، وسلاسل إعادة التوجيه، ورسائل خطأ API بانتظام على عناوين URL مشفرة يصعب قراءتها بسرعة. https://example.com/search?q=Hello%20World%21&lang=tr%C3%BC%C5%9F يصبح قابلاً للقراءة في لصقة واحدة. يتبع هذا المفكك المستند إلى المتصفح RFC 3986 ويستخدم decodeURIComponent() في JavaScript - لا يتم رفع أي شيء، ولا حاجة لحساب. في تحليلنا لعمليات تصحيح الأخطاء الشائعة في API، يعد فك تشفير سلاسل URL واحدة من أكثر خمس مهام شائعة للمطورين خلال التحقيقات في الحوادث.
كيفية فك تشفير URL
- ألصق عنوان URL المشفر أو سلسلة الاستعلام في حقل الإدخال.
- انقر على فك التشفير أو قم بتمكين الوضع الفوري للحصول على نتائج فورية أثناء الكتابة.
- يظهر الإخراج المفكك القابل للقراءة في لوحة النتائج.
- انسخ النص المفكك للتحليل أو التوثيق أو المشاركة.
فهم فك تشفير URL
ما الذي يتم فك تشفيره
يقوم المفكك بعكس تشفير النسبة المئوية RFC 3986 عن طريق استبدال كل تسلسل %XX بالشخصية الموجودة في قيمة البايت السداسي. بالنسبة للشخصيات متعددة البايت من Unicode، يتم فك تشفير تسلسلات %XX المتتالية معًا كـ تسلسل بايت UTF-8. علامة + في سلاسل الاستعلام يتم فك تشفيرها اختياريًا كمسافة - وهو التقليد المستخدم في إرسال النماذج HTML.
التسلسلات الشائعة ومعانيها
%20→ مسافة (معيار RFC 3986)%2B→+%2F→/%3A→:%3D→=%26→&%40→@%23→#%C5%9F→ş(متعدد البايت UTF-8)%E4%B8%AD→中(متعدد البايت UTF-8)
مثال
الإدخال
https://example.com/search?q=Hello%20World%21&lang=tr%C3%BC%C5%9F
الإخراج
https://example.com/search?q=Hello World!&lang=trüş
حالات الاستخدام الشائعة
- تحليل سجلات الخادم - قراءة معلمات الاستعلام وعناوين URL المحيلة في سجلات الوصول
- تصحيح إعادة التوجيه - فك تشفير قيم
?redirect=أو?return_to=في تدفقات المصادقة - اختبار API - فك تشفير عناوين URL للطلبات الملتقطة في تتبع الشبكة قبل تحليلها
- فحص التحليلات - قراءة المحتوى الفعلي لمعلمات UTM وعناوين URL للتتبع
الأخطاء الشائعة
- عناوين URL مشفرة مرتين -
%2520يتم فك تشفيره إلى%20، وليس مسافة، لأن%25هو التشفير لـ%نفسه؛ تحتاج إلى فك التشفير مرتين - معالجة + خاطئة -
+تعني مسافة فقط في بيانات النموذج؛ في أجزاء المسار،+هو علامة زائد حرفية؛ قم بتبديل خيار بيانات النموذج وفقًا لذلك - تشفير غير UTF-8 - قد تستخدم التطبيقات القديمة ISO-8859-1؛ سيظهر الإخراج المفكك بشكل غير واضح للأحرف غير ASCII في تلك الحالات
لتشفير عناوين URL، استخدم أداة تشفير URL. لفك تشفير JSON المضمن في معلمات استعلام URL، قم بفك تشفيره باستخدام هذه الأداة أولاً، ثم تحقق باستخدام مدقق JSON. لفك تشفير Base64 الموجود في عناوين URL، استخدم أداة فك تشفير Base64 في وضع آمن لعنوان URL.
الأسئلة الشائعة
ماذا يعني فك تشفير URL؟
فك تشفير URL (فك تشفير النسبة المئوية) يعكس التشفير النسبى المحدد في RFC 3986. يقوم باستبدال كل تسلسل %XX بالبايت الفعلي الذي يمثله الزوج السداسي، ثم يفسر تسلسل البايت كنص UTF-8. Hello%20World%21 يصبح Hello World! لأن %20 هو سداسي لمسافة (بايت 0x20) و%21 هو سداسي لعلامة التعجب (بايت 0x21).
لماذا ينتج عن فك التشفير أحرف غير واضحة؟
الإخراج غير الواضح يعني عادة أن URL تم تشفيره باستخدام مجموعة أحرف غير UTF-8 (مثل ISO-8859-1، الشائعة في التطبيقات القديمة)، أو أن البيانات مشفرة مرتين. إذا رأيت %2520 يتم فك تشفيره إلى %20 بدلاً من مسافة، فإن URL تم تشفيره مرتين. قم بفك تشفيره مرة أخرى للحصول على القيمة الفعلية.
ما الفرق بين %20 و + للمسافات؟
%20 هو معيار RFC 3986 لمسافة، يستخدم في مسارات URL وقيم الاستعلام في واجهات برمجة التطبيقات الحديثة. علامة + تمثل مسافة فقط في تنسيق application/x-www-form-urlencoded (إرسال النماذج HTML). هذه الأداة تتعامل مع كليهما: %20 دائمًا يتم فك تشفيره كمسافة؛ + يتم فك تشفيره كمسافة في وضع بيانات النموذج.هل يمكنني فك تشفير URL كامل مع معلمات الاستعلام دفعة واحدة؟
نعم. ألصق URL الكامل بما في ذلك المخطط، المضيف، المسار، وسلسلة الاستعلام. يقوم المفكك بمعالجة جميع التسلسلات المشفرة في تمريرة واحدة. لاحظ أن فك تشفير الأحرف الهيكلية مثل %2F و%3F قد يجعل URL الناتج غير وظيفي - استخدم النسخة المفككة بالكامل للقراءة فقط، وليس لإجراء الطلبات.
هل هذه الأداة آمنة للاستخدام مع عناوين URL الخاصة التي تحتوي على رموز أو معرفات جلسة؟
نعم. يتم فك التشفير بالكامل على جانب العميل باستخدام decodeURIComponent() في JavaScript. عناوين URL، رموز المصادقة، معرفات الجلسة، ومعلمات الاستعلام لا تُرسل إلى أي خادم أو تُخزن في أي مكان.