Flask ldap - Python

Узнай цену своей работы

Формулировка задачи:

Приветствую! Имеется приложение на python3 flask, которое использует модуль ldap3. В процессе работы идет запрос к LDAP, а в ответ возвращается информация об аккаунте. В ответе есть русские символы. Теперь собственно проблема: если я запускаю скрипт руками app.run(), то русские символы обрабатываются корректно, если же запуск идет через apache + mod_wsgi, то получаю строку:

\\u0414\\u043c\\u0438\\u0442\\u0440\\u0438\\u0439

код собственно такой:
Листинг программы
  1. conn.search('uid=user1,cn=users,cn=accounts,dc=my,dc=domain,dc=ru', '(objectClass=person)',attributes='cn')
  2. for entry in conn.entries:
  3. result = entry['cn']
  4. print (str(entry))
в /etc/sysconfig/httpd locale прописана. собственно у меня 2 проблемы:
  1. понять в чем различие в поведении python при разных способах запуска приклада.
  2. каким-то образом сконвертировать эту строку в обычную. способы типа 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
Листинг программы
  1. pip3 install mod_wsgi
  2. mod_wsgi-express install-module

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут