التابع HTTPRedirectHandler.redirect_request()
في بايثون
يعيد التابع كائن Request
أو القيمة None
استجابةً لعملية إعادة توجيه.
البنية العامة
HTTPRedirectHandler.redirect_request(req, fp, code, msg, hdrs, newurl)
يُستدعى التابع عند استخدام التوابع http_error_30*()
بالطريقة الافتراضية عند استقبال عملية إعادة توجيه من المخدّم. إن أجريت عملية إعادة التوجيه، فإنّ التابع سيعيد كائن Request
جديدًا وذلك للسماح لتوابع http_error_30*()
بإعادة التوجيه إلى العنوان الجديد newurl
. إن لم يحدث ما سبق فحاول إطلاق الاستثناء HTTPError
إن لم يُعالج هذا العنوان من قبل أيّ معالج آخر، أو أعد القيمة None
إن لم تتمكن من إطلاق الاستثناء وكان بإمكان معالج آخر القيام بذلك.
ملاحظة:
إن طريق الاستخدام الافتراضية لهذا التابع لا تتبع المعيار RFC 2616 بدقّة، والذي ينصّ على أنّ الاستجابتين 301 و 302 للطلبات من نوع POST يجب أن لا يعاد توجيهها تلقائيًا دون موافقة المستخدم. تسمّح المتصفّحات في الواقع بإعادة توجيه هذه الاستجابات تلقائيًا وذلك بتغيير نوع الطلب من POST إلى GET، ويستخدم التابع الطريقة ذاتها للقيام بذلك.