Omro
Янв. 19, 2009 10:18:45
Можно пример с модулем CGIHTTPServer или SimpleHttpServer, который отобразит форму и примет POST - запрос от неё?
Хотел опробовать TinyMce потом, так-что нужно чтобы он и файлы отдавал c js и картинками.
slav0nic
Янв. 19, 2009 11:45:08
эм
CGIHTTPServer - это как бы запулка CGI и есть.
#!/usr/bin/env python
HOMEDIR = "webserv/"
PORT = 8000
import CGIHTTPServer
import BaseHTTPServer
import os
os.chdir(HOMEDIR)
class Handler(CGIHTTPServer.CGIHTTPRequestHandler):
cgi_directories = ["/cgi"]
httpd = BaseHTTPServer.HTTPServer(("", PORT), Handler)
print "serving at port", PORT
httpd.serve_forever()
это запускалка
сам cgi
import cgitb; cgitb.enable()
import cgi
print "Content-Type: text/html\n"
form = cgi.FieldStorage()
print form
форму для поста сам нарисуй
Omro
Янв. 19, 2009 14:05:15
1) Такое уже конечно пробовал. И получаю Форбидден.
Error code 403.
Message: CGI script is not a plain file ('/cgi/').
Error code explanation: 403 = Request forbidden – authorization will not help.
2) Имелась ввиду эмуляция силами модуля подобия cgi-ю, когда
пользователь всё время отправляет данные на одну страницу post-запросами,
а формы динамически появляются в зависимости от самого запроса! Вот. Так можно?
Omro
Янв. 20, 2009 18:17:05
Ээй, тихо тут что-то? Может всё-таки кто поможет мне? Повторюсь - нужно встроить простейшие обработчики в код проги. А хотя-бы пример с приёмом post-запроса и обработкой в теле проги предоставить не займёт думаю времени?
Если я на неправильном пути - скажите, но имхо здесь 1 файл достаточен.
Или если не прав - скажите как форбидден исправить? (Работаю на ноуте с вистой, хочу сменить на родной шлак но это зависит от некоторых людей кроме меня.)
slav0nic
Янв. 20, 2009 18:35:50
блин, ты пример смотрел? в form и будут тебе нужные поля с POST запроса
по поводу 403 надо поставить chmod +x права на cgi скрипт
http://docs.python.org/library/cgi.html похоже не читал
Omro
Янв. 20, 2009 19:40:59
Спасибо, если честно смотрел только либу. Попробую вставить куски внутрь на выдачу.
Хм, в висте конечно есть права доступа, но скрипты там разве имеют их? Я думал лишь о экзешнике питона!
slav0nic
Янв. 20, 2009 20:19:22
Omroтогда проверь путь к интерпретатору в заголовке cgi файла и команду python в консоли
кстати раз винда то наверно и путь к cgi не должен содержать /
добавь первой строкой что-то вроде
#!c:/Python/python.exe -u
Omro
Янв. 20, 2009 20:25:36
С первым я решил не вписывать под виндой, надеясь на доброе здравие змея. Работает с обычными скриптами и джангой, а здесь задачка вроде простая и хочется найти простое решение чтобы вернуться к джанго.
Сейчас читаю ещё python cookbook и кажется нашёл что-то похожее. На пиратбэе выложили кучу книг, не зря одолжил, именно то вроде.
Omro
Янв. 20, 2009 22:09:30
Итак, продолжая цикл дурацких проблем… XD
Шутка.
http://fragments.turtlemeat.com/pythonwebserver.php - вот моя мечта)))
qwerthon
Июнь 29, 2011 00:02:53
добрый вечер
тупой вопрос…
почему при попытке запуска скрипта через CGIHTTPServer скрипт не исполняется а тупо выдается все его содержимое ?
Python 3.2
OS Windows 7
запускаю сервер командой C:\Server\Python32\python.exe -m http.server
содержимое скрипта следующее:
print (“Content-Type: text/html\n”)
print (“test”)
запускаю через браузер
localhost:8000/cgi-bin/test.py
как заставить это дело работать?