يبدو أن urlsafe_b64encode يستبدل بعض الأحرف في ترميز base64. من المستندات:
قم بترميز s كائن شبيه بالبايت باستخدام الأبجدية الآمنة لـ URL ونظام الملفات، والتي تستبدل
-بدلاً من+و_بدلاً من/في أبجدية Base64 القياسية، وتعيدbytesالمرمزة. لا يزال من الممكن أن تحتوي النتيجة على=.
هذا يعني أن النتيجة ليست base64 قياسية، ولن تكون متوافقة مع فك ترميز Discourse.
أوصي باستخدام الدالة b64encode العادية بدلاً من ذلك. يجب أن يتعامل مكتب HTTP الخاص بك مع الهروب من عناوين URL إذا لزم الأمر.