Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 19, 2009 10:18:45

Omro
От:
Зарегистрирован: 2008-12-14
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

CGIHTTPServer :)

Можно пример с модулем CGIHTTPServer или SimpleHttpServer, который отобразит форму и примет POST - запрос от неё?

Хотел опробовать TinyMce потом, так-что нужно чтобы он и файлы отдавал c js и картинками.



Офлайн

#2 Янв. 19, 2009 11:45:08

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

CGIHTTPServer :)

эм
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
форму для поста сам нарисуй

Офлайн

#3 Янв. 19, 2009 14:05:15

Omro
От:
Зарегистрирован: 2008-12-14
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

CGIHTTPServer :)

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-запросами,
а формы динамически появляются в зависимости от самого запроса! Вот. Так можно?



Офлайн

#4 Янв. 20, 2009 18:17:05

Omro
От:
Зарегистрирован: 2008-12-14
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

CGIHTTPServer :)

Ээй, тихо тут что-то? Может всё-таки кто поможет мне? Повторюсь - нужно встроить простейшие обработчики в код проги. А хотя-бы пример с приёмом post-запроса и обработкой в теле проги предоставить не займёт думаю времени?

Если я на неправильном пути - скажите, но имхо здесь 1 файл достаточен.

Или если не прав - скажите как форбидден исправить? (Работаю на ноуте с вистой, хочу сменить на родной шлак но это зависит от некоторых людей кроме меня.)



Офлайн

#5 Янв. 20, 2009 18:35:50

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

CGIHTTPServer :)

блин, ты пример смотрел? в form и будут тебе нужные поля с POST запроса
по поводу 403 надо поставить chmod +x права на cgi скрипт
http://docs.python.org/library/cgi.html похоже не читал

Офлайн

#6 Янв. 20, 2009 19:40:59

Omro
От:
Зарегистрирован: 2008-12-14
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

CGIHTTPServer :)

Спасибо, если честно смотрел только либу. Попробую вставить куски внутрь на выдачу.
Хм, в висте конечно есть права доступа, но скрипты там разве имеют их? Я думал лишь о экзешнике питона!



Офлайн

#7 Янв. 20, 2009 20:19:22

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

CGIHTTPServer :)

Omro
тогда проверь путь к интерпретатору в заголовке cgi файла и команду python в консоли
кстати раз винда то наверно и путь к cgi не должен содержать /
добавь первой строкой что-то вроде

#!c:/Python/python.exe -u

Офлайн

#8 Янв. 20, 2009 20:25:36

Omro
От:
Зарегистрирован: 2008-12-14
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

CGIHTTPServer :)

С первым я решил не вписывать под виндой, надеясь на доброе здравие змея. Работает с обычными скриптами и джангой, а здесь задачка вроде простая и хочется найти простое решение чтобы вернуться к джанго.

Сейчас читаю ещё python cookbook и кажется нашёл что-то похожее. На пиратбэе выложили кучу книг, не зря одолжил, именно то вроде.



Офлайн

#9 Янв. 20, 2009 22:09:30

Omro
От:
Зарегистрирован: 2008-12-14
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

CGIHTTPServer :)

Итак, продолжая цикл дурацких проблем… XD
Шутка. http://fragments.turtlemeat.com/pythonwebserver.php - вот моя мечта)))



Офлайн

#10 Июнь 29, 2011 00:02:53

qwerthon
От:
Зарегистрирован: 2011-01-25
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

CGIHTTPServer :)

добрый вечер
тупой вопрос…

почему при попытке запуска скрипта через 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

как заставить это дело работать?



Отредактировано (Июнь 29, 2011 01:53:41)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version