Найти - Пользователи
Полная версия: Получение формы с помощью POST
Начало » Web » Получение формы с помощью POST
1
keder
Доброго времени суток!
Возможно проблема и выеденого яйца не стоит, но долгое гугление ничего не дало.
Имеется простенькая форма:
<!DOCTYPE html>
<html>
<head>
<title>FORM</title>
<meta charset="utf-8">
</head>
<body>
<form name="form1" action="script.wsgi" method="POST" accept-charset="utf-8">
<input type="text" name="text1" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
Имеется простенький python скрипт использующий wsgi:
def application(environ, start_response):
status = '200 OK'
output = '<p>Form Sent!</p><br /><a href="javascript:history.go(-1)">Go Back</a>'

response_headers = [('Content-type', 'html'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
input_string = environ['wsgi.input'].read()
f = open('/home/dadmin/www/test-site/test.txt', 'w')
f.write(input_string)

return [output]
Который соответственно получает отправленную с помощью post форму и пишет её в файл.
Если в поле формы написать к примеру “александр”, в файл test.txt на сервере записывается следующее:
text1=%E0%EB%E5%EA%F1%E0%ED%E4%F0
Пробовал использовать enquote из urllib но получается следующее:
text1=àëåêñàíäð
Гугление модуля который бы мог преобразовать эти коды в кириллические символы ничего не дало. Есть ли какое-то стандартное решение?
Использовал:
python 2.6.6 и 3.1.3
apache 2.2.16
wsgi 3.3
reclosedev
Это строка в кодировке cp1251
>>> import urllib
>>> print urllib.unquote('%E0%EB%E5%EA%F1%E0%ED%E4%F0').decode('cp1251')
александр
хотя должна быть utf-8.
keder
Спасибо, буду копать тогда в этом направлении. Я пробовал использовать decode, но только для utf-8, так как полагал что оно передается в ней - безрезультатно естественно.
o7412369815963
Это строка в кодировке cp1251

Нужно смотреть какой charset в шапке запроса http от сервера и к серверу.
Возможно сервер выставил cp1251 как допустимый, и клиент его использует.
Doberman26rus
Апач на какой операционке крутится?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB