18 / 18 / 1
Регистрация: 22.11.2012
Сообщений: 62
|
||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||
Запись формы в файл CGI скриптом на Python12.01.2013, 11:48. Просмотров 6984. Ответов 23
Метки нет Все метки)
(
Доброго всем времени суток! Мне необходимо сохранить содержимое формы в файл, используя CGI скрипты на языке Python. Данные отправляются методом POST. Проблема в том, что форма благополучно обрабатывается (содержимое полей формы объединяется в одну строку и сохраняется в переменную info), но в файл не сохраняется (сам файл предварительно создан, владелец и группа файла apache, доступ: хозяин rwx, группа rwx, другие rwx, для каталога, в котором хранится файл (/var/www/html/files/txt/) хозяин, группа и права доступа выставлены такие же). Для CGI скриптов права доступа такие: хозяин и группа root, доступ: хозяин rwx, группа r-x, другие r-x. Пробовал запустить обычный скрипт на Python (не CGI), работающий в интерактивном режиме и производящий запись в тот файл, в который должен сохранять данные CGI от имени пользователя apache (т.к. от имени этого пользователя работает веб-сервер)
- все сохраняется, но мне необходимо реализовать именно веб-интерфейс (данные вводятся в форму, обрабатываются CGI и записываются в файл). Обработка формы:
0
|
|
12.01.2013, 11:48 | |
Запись кириллицы в БД CGI-скриптом на C++ CGI на Python открывается в браузере как текстовый файл При попытке отправить данные формы открывается страница с сообщением: 'The requested method POST is not allowed for the URL /cgi-bin/script.cgi.' не запускаеться (CGI вместе с MySQL) под Apache: Premature end of script headers: c:/www/cgi-bin/catalog.cgi |
|
18 / 18 / 1
Регистрация: 22.11.2012
Сообщений: 62
|
|
12.01.2013, 11:55 [ТС] | 2 |
Где может быть ошибка?
0
|
18 / 18 / 1
Регистрация: 22.11.2012
Сообщений: 62
|
|
12.01.2013, 14:24 [ТС] | 4 |
accept, сделал, как Вы посоветовали и получил такой результат: скрипт сообщает, что запись успешно добавлена, но файл /tmp/file.txt пуст. Если можете проконсультировать дальше, выложу исходник.
0
|
18 / 18 / 1
Регистрация: 22.11.2012
Сообщений: 62
|
|
13.01.2013, 09:01 [ТС] | 6 |
accept, спасибо за ответ! Полный скрипт отправил в личку.
0
|
18 / 18 / 1
Регистрация: 22.11.2012
Сообщений: 62
|
|||||||||||
13.01.2013, 18:02 [ТС] | 8 | ||||||||||
accept, скрипты несколько модифицировал, но по-прежнему вызывающий отправляет форму, вызываемый её обрабатывает, но никуда не пишет.
Вызывающий скрипт add.cgi (генерирует форму и отправляет её методом POST):
Попробовал, результат тот же.
0
|
18 / 18 / 1
Регистрация: 22.11.2012
Сообщений: 62
|
|
14.01.2013, 06:21 [ТС] | 10 |
accept, спасибо за ответ! Попробовал отлаженный вариант, данные отправляются, но файл /tmp/phonebook.dat при этом остается пустым.
0
|
18 / 18 / 1
Регистрация: 22.11.2012
Сообщений: 62
|
|
14.01.2013, 21:01 [ТС] | 13 |
accept, будьте добры, напишите, какие у Вас ОС, веб-сервер и версия Python? У меня Russian Fedora Remix 17.1 (x86_64), Apache 2.2.22, Python 2.7.3. Пробую разные варианты - скрипт так и не производит запись в файл.
0
|
4851 / 3272 / 466
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
15.01.2013, 02:12 | 14 |
проверил ещё твою форму из скрипта (добавил её в архив)
1. положи скрипты в папку cgi-bin 2. убедись, что нет файла /tmp/phonebook.dat 3. открой страницу, введи любые значения, нажми ок 4. выполни cat /tmp/phonebook.dat если файл создался, но внутри ничего нет, то надо сделать тестовый скрипт, который будет, находясь в папке cgi-bin, выполнять простую запись в файл в /tmp/file.txt, и заниматься им без всякой формы это не от версий проблема, а от настроек
1
|
18 / 18 / 1
Регистрация: 22.11.2012
Сообщений: 62
|
||||||
15.01.2013, 06:57 [ТС] | 15 | |||||
accept, огромное спасибо за ответ!
Положил (собственно, туда я изначально и помещал все CGI-скрипты) Специально удалил его перед запуском. Выполнил. Хотя файл и не создался, все-таки сделал тестовый скрипт и запустил его от имени apache: Код скрипта:
httpd.7z
0
|
18 / 18 / 1
Регистрация: 22.11.2012
Сообщений: 62
|
|
15.01.2013, 07:04 [ТС] | 16 |
Закинул скрипт сюда - форматирование кода слетело... Прицепил архив со скриптом во вложении.
adddata.7z
1
|
18 / 18 / 1
Регистрация: 22.11.2012
Сообщений: 62
|
|
15.01.2013, 14:45 [ТС] | 20 |
0
|
15.01.2013, 14:45 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Не работает запись в файл python 3.6 Python. CGI и COOKIE Cgi скрипт python CGI в Python на Mac Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |