التابع HTTPRedirectHandler.redirect_request()‎‎ في بايثون

من موسوعة حسوب
< Python‏ | urllib‏ | 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، ويستخدم التابع الطريقة ذاتها للقيام بذلك.

مصادر