تقنية

mimetypes في بايثون: هل نوع الرابط يثبت وجود صورة؟

لاحقة png تعطي image/png ولاحقة txt تعطي text/plain
تخمين عنوان مؤلف. [1] [2]

تخمين النوع ليس تنزيلًا للصورة. [1] [2]

الخلاصة السريعة

نتيجة التخمين لا تثبت وجود الملف. [1] [2]

  • ننشئ قاعدة MimeTypes بالجداول المضمنة. [1] [2]
  • لاحقة .png تعطي image/png هنا. [1] [2]
  • تغييرها إلى .txt يعطي text/plain. [1] [2]
  • لا يجلب التخمين استجابة HTTP. [1] [2]
  • اختبرنا عنوانًا مؤلفًا على 3.12.14، دون فحص محتوى. [1] [2]
  • الترميز None ليس ترميز محارف؛ التهيئة قد تقرأ إعدادات. [1] [2]

المثال

import mimetypes as m
q=m.MimeTypes()
u='https://own.invalid/asset.png'
print(q.guess_type(u))
print(q.guess_type(u.replace('.png','.txt')))

[1] [2]

المخرجان ('image/png', None) و('text/plain', None). [1] [2]

لماذا تغيّر النوع؟

غيّرنا اللاحقة فقط. تستعمل الدالة جدول الأنواع المرتبط بالامتداد، لا بايتات صورة من الخادم. [1] [2]

رصد مطابقة اللاحقة دون جلب HTTP أو بايتات الصورة
نطاق الدليل المحلي. [1] [2]

حد الدليل

تعيد الدالة زوج النوع والترميز؛ None هنا ليس اسم ترميز محارف. لا يثبت الزوج تنزيلًا أو صورة صحيحة. [1] [2]

عناوين HTTPS؛ قد تقرأ التهيئة إعدادات محلية. [2]

المراجع

  1. Python: mimetypes
  2. CPython 3.12.14: mimetypes.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

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