Flask ldap - Python
Формулировка задачи:
Приветствую!
Имеется приложение на python3 flask, которое использует модуль ldap3.
В процессе работы идет запрос к LDAP, а в ответ возвращается информация об аккаунте. В ответе есть русские символы.
Теперь собственно проблема:
если я запускаю скрипт руками app.run(), то русские символы обрабатываются корректно,
если же запуск идет через apache + mod_wsgi, то получаю строку:
в /etc/sysconfig/httpd locale прописана.
собственно у меня 2 проблемы:
\\u0414\\u043c\\u0438\\u0442\\u0440\\u0438\\u0439
код собственно такой:
Листинг программы
- conn.search('uid=user1,cn=users,cn=accounts,dc=my,dc=domain,dc=ru', '(objectClass=person)',attributes='cn')
- for entry in conn.entries:
- result = entry['cn']
- print (str(entry))
- понять в чем различие в поведении python при разных способах запуска приклада.
- каким-то образом сконвертировать эту строку в обычную. способы типа result.encode('utf-8') не помогают.
кажется понял в чем дело - на сервере 2 версии python: 2.7.5 (штатная) и 3.4,
но в конфиге и заголовках файлов у меня указан python3
/etc/httpd/conf.d/mysite.conf:WSGIPythonPath /usr/lib/python3.4/site-packages:/var/www
где-то еще могут быть ссылки?
Решение задачи: «Flask ldap»
textual
Листинг программы
- pip3 install mod_wsgi
- mod_wsgi-express install-module
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д