الفرق بين المراجعتين لصفحة: «Python/IISCGIHandler»
أنشأ الصفحة ب'هذا الصنف هو بديل خاص للصنف <code>CGIHandler</code>، ويستخدم لنشر التطبيقات على مخدّم الويب...' |
|||
(3 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الصنف <code>wsgiref.handler.IISCGIHandler</code> في بايثون}}</noinclude> | |||
هذا الصنف هو بديل خاص للصنف <code>[[Python/CGIHandler|CGIHandler]]</code>، ويستخدم لنشر التطبيقات على مخدّم الويب IIS الخاص بمايكروسوفت دون الحاجة إلى ضبط الخيار <code>allowPathInfo</code> في الإعدادات (في الإصدار 7 وما بعده من IIS) أو في قاعدة البيانات الداخلية metabase في الخيار <code>allowPathInfoForScriptMappings</code> (في الإصدر 6 وما قبله من IIS). | هذا الصنف هو بديل خاص للصنف <code>[[Python/CGIHandler|CGIHandler]]</code>، ويستخدم لنشر التطبيقات على مخدّم الويب IIS الخاص بمايكروسوفت دون الحاجة إلى ضبط الخيار <code>allowPathInfo</code> في الإعدادات (في الإصدار 7 وما بعده من IIS) أو في قاعدة البيانات الداخلية metabase في الخيار <code>allowPathInfoForScriptMappings</code> (في الإصدر 6 وما قبله من IIS). | ||
سطر 8: | سطر 10: | ||
ملاحظة: هذا الصنف جديد في الإصدار 3.2 من بايثون. | ملاحظة: هذا الصنف جديد في الإصدار 3.2 من بايثون. | ||
== انظر أيضًا == | |||
*الصنف <code>[[Python/CGIHandler|CGIHandler]]</code>: يمكن الاستفادة من هذا الصنف عند الحاجة إلى تشغيل تطبيق WSGI كشيفرة CGI. | |||
*الصنف <code>[[Python/BaseCGIHandler|BaseCGIHandler]]</code>: هذا الصنف مشابه للصنف <code>[[Python/CGIHandler|CGIHandler]]</code>، ولكن عوضًا عن استخدام الوحدتين <code>sys</code> و <nowiki/>[[Python/os|<code>os</code>]]، فإنّ بيئة CGI و تدفقات المدخلات والمخرجات تحدّد من قبل المستخدم. | |||
*الصنف <code>[[Python/SimpleHandler|SimpleHandler]]</code>: هذا الصنف مشابه للصنف <code>[[Python/BaseCGIHandler|BaseCGIHandler]]</code>، ولكنّه مصمّم للاستخدام مع المخدمّات من نوع HTTP. | |||
*الصنف <code>[[Python/BaseHandler|BaseHandler]]</code>: هذا الصنف هو صنف أساسي مجرّد يستخدم لتشغيل تطبيقات WSGI. | |||
== مصادر == | |||
* [https://docs.python.org/3/library/wsgiref.html#wsgiref.handlers.IISCGIHandler قسم server/gateway base classes في صفحة WSGI Utilities and Reference Implementation في توثيق بايثون الرسمي.] | |||
[[تصنيف:Python]] | |||
[[تصنيف:Python Modules]] |
المراجعة الحالية بتاريخ 16:21، 27 ديسمبر 2018
هذا الصنف هو بديل خاص للصنف CGIHandler
، ويستخدم لنشر التطبيقات على مخدّم الويب IIS الخاص بمايكروسوفت دون الحاجة إلى ضبط الخيار allowPathInfo
في الإعدادات (في الإصدار 7 وما بعده من IIS) أو في قاعدة البيانات الداخلية metabase في الخيار allowPathInfoForScriptMappings
(في الإصدر 6 وما قبله من IIS).
يعطي مخدّم IIS افتراضيًا متغير PATH_INFO
يقوم بمضاعفة المتغير SCRIPT_NAME
في الواجهة، الأمر الذي يتسبب في حدوث مشاكل بالنسبة لتطبيقات WSGI التي ترغب في استخدام التوجيه routing؛ لذا يتخلص هذا المعالج من أي مسارات متكرّرة.
يمكن ضبط مخدّم IIS لتمرير قيمة صحيحة للمتغير PATH_INFO
، ولكنّ ذلك يؤدي إلى حدوث مشكلة أخرى حيث تصبح قيمة PATH_TRANSLATED
خاطئة. ولحسن الحظ فإنّ هذا المتغير نادر الاستخدام وليس مضمونًا في WSGI. ولكن يجب الانتباه إلى أنّ هذه الإعدادات يمكن إجراؤها على مستوى المضيف الافتراضي vhost في الإصدارات السابقة للإصدار 7 من IIS، وهو أمر قد يؤثّر على بقية روابط الشيفرات، والتي تتوقف عن العمل عند تعرضّها لمشكلة المتغير PATH_TRANSLATED
؛ ولهذا السبب لا يستخدم هذا الحل مع الإصدارات السابقة للإصدار 7 من IIS. (بل حتى الإصدار 7 من IIS يستخدم هذا الحل بصورة نادرة لعدم وجود واجهة استخدام له).
لا يمكن لشيفرة CGI أن تعرف ما إذا كان الخيار مستخدمًا أم لا؛ لذا هناك صنف معالجة خاص لهذا الأمر. يستخدم هذا الصنف بنفس طريقة استخدام الصنف CGIHandler
أي باستخدام التعبير IISCGIHandler().run(app)
ويمثل المعامل app
كائن تطبيق WSGI الذي ترغب في تنفيذه.
ملاحظة: هذا الصنف جديد في الإصدار 3.2 من بايثون.
انظر أيضًا
- الصنف
CGIHandler
: يمكن الاستفادة من هذا الصنف عند الحاجة إلى تشغيل تطبيق WSGI كشيفرة CGI.
- الصنف
BaseCGIHandler
: هذا الصنف مشابه للصنفCGIHandler
، ولكن عوضًا عن استخدام الوحدتينsys
وos
، فإنّ بيئة CGI و تدفقات المدخلات والمخرجات تحدّد من قبل المستخدم.
- الصنف
SimpleHandler
: هذا الصنف مشابه للصنفBaseCGIHandler
، ولكنّه مصمّم للاستخدام مع المخدمّات من نوع HTTP. - الصنف
BaseHandler
: هذا الصنف هو صنف أساسي مجرّد يستخدم لتشغيل تطبيقات WSGI.