Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 14, 2014 13:25:39

zlodiak
От: Россия
Зарегистрирован: 2014-01-19
Сообщения: 159
Репутация: +  0  -
Профиль   Адрес электронной почты  

тестирование cgi-сценариев

подскажите пожалуйста способ тестирования питоновских скриптов

я создаю html-файлы, которые обрабатываются cgi. мне нужно чтобы я заполнил фору на html-страничке, нажал кнопку отправить и вызвался соответствующий обработчик .py

примеров подобных программ в интернетах много, но ни одна у меня не работает. проблема в том, что после отправки формы на экран выводится исходный текст обработчика, а сам он не отрабатывает(всё это происходит под управлением open server)

я использую “сервер” из книжки лутца:

import os, sys
from http.server import HTTPServer, CGIHTTPRequestHandler
webdir = '.'   # where your HTML files and cgi-bin script directory live
port   = 80    # http://servername/ if 80, else use http://servername:xxxx/
if len(sys.argv) > 1: webdir = sys.argv[1]             # command-line args
if len(sys.argv) > 2: port   = int(sys.argv[2])        # else default ., 80
print('webdir "%s", port %s' % (webdir, port))
os.chdir(webdir)                                       # run in HTML root dir
srvraddr = ('', port)                                  # my hostname, portnumber
srvrobj  = HTTPServer(srvraddr, CGIHTTPRequestHandler)
srvrobj.serve_forever()                                # serve clients till exit
то есть запускаю его и иду заполнять и отправлять мою форму

подскажите пожалуйста что я делаю не так. или может быть есть другой более простой способ тестировать простейшие cgi-сценарии?

Отредактировано zlodiak (Фев. 14, 2014 13:28:23)

Офлайн

#2 Фев. 14, 2014 17:38:06

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

тестирование cgi-сценариев

zlodiak
проблема в том, что после отправки формы на экран выводится исходный текст обработчика
zlodiak
подскажите пожалуйста что я делаю не так

“CGI-сценарии
на языке Python должны сохраняться в подкаталоге cgi-bin”

Твоя книга, стр 469

“Необязательно давать файлу расширение .cgi, но совершенно необходимо
поместить его в каталог cgi-bin и сделать выполняемым с помощью
команды chmod +х <имя_файла>. В любом другом каталоге веб-сервер будет
интерпретировать сценарий как простой текстовый файл и просто выведет его
содержимое в окне броузера, а если файл сценария не сделать выполняемым,
при обращении к нему веб-сервер вернет сообщение об ошибке.”

Django, подробное руководство, стр 20



Отредактировано Budulianin (Фев. 14, 2014 17:38:36)

Офлайн

#3 Фев. 14, 2014 18:16:34

zlodiak
От: Россия
Зарегистрирован: 2014-01-19
Сообщения: 159
Репутация: +  0  -
Профиль   Адрес электронной почты  

тестирование cgi-сценариев

у меня файлы .py как раз в каталоге cgi-bin находятся. и все файлы исполняемые так как windows

Офлайн

#4 Фев. 15, 2014 04:21:27

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

тестирование cgi-сценариев



zlodiak
или может быть есть другой более простой способ тестировать простейшие cgi-сценарии?

CGIHTTPServer



Отредактировано Budulianin (Фев. 15, 2014 04:28:21)

Офлайн

#5 Фев. 15, 2014 10:51:50

zlodiak
От: Россия
Зарегистрирован: 2014-01-19
Сообщения: 159
Репутация: +  0  -
Профиль   Адрес электронной почты  

тестирование cgi-сценариев

Офлайн

#6 Фев. 15, 2014 11:44:42

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

тестирование cgi-сценариев

zlodiak
CGIHTTPServer не запускается

Он в Python2, там это написано.

В Python3 http.server

Google



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version