Уведомления

Группа в Telegram: @pythonsu

#1 Май 25, 2008 18:15:26

Алена
От:
Зарегистрирован: 2008-05-25
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с CGI

Привет всем. У меня возникла небольшая проблема, может кто-то уже с таким сталкивался и сможет помочь советом? Имеется CGI скрипт написанный в питоне:

import cgi
import Cookie
form = cgi.FieldStorage()
a = form.value
c = Cookie.SmartCookie()
c = a
print “Content-type: text/html”
print c
print

print a

print ‘<form name=“f2” action=“2.py”>’
print ‘<input type=“text” name=“s2” size=“15” />’
print ‘<input type=“Submit” value=“Go!” />’
print ‘</form>’

Проблема заключается в следующем: после того как из браузера передались параметры в cgi, в браузере показывается код скрипта cgi в том виде в каком он написан выше :(

я не понимаю почему…. Помогите, пожалуйста…



Офлайн

#2 Май 25, 2008 20:52:17

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с CGI

Проблема в настройках веб-сервера.

P.S.

'Имеется CGI скрипт написанный в питоне'.replace('в', 'на')



Офлайн

#3 Май 25, 2008 21:11:30

Алена
От:
Зарегистрирован: 2008-05-25
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с CGI

ну это понятно что настройках.. а что конкретно? я просто вообще не
могу понять….



Офлайн

#4 Май 25, 2008 21:13:18

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с CGI

Для начала неплохо бы указать название веб сервера и показать его конифиг.



Офлайн

#5 Май 25, 2008 21:32:13

Алена
От:
Зарегистрирован: 2008-05-25
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с CGI

Тестирование web-приложения провожу с помощью модуля
CGIHTTPServer из стандартной поставки Python. то есть сначала запускаю
файл CGIHTTPServer.py


У меня действительно ошибка в том что я наверное не так запускаю.. что ли….
ПО идеи надо было просто запустить CGIHTTPServer.py затем открыть браузрер… и там набрать… http://localhost/cgi/index.htm….. в папке как раз и находиться файл который приведен выше… но так вообще ничего не работает….



Офлайн

#6 Май 25, 2008 21:44:18

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с CGI

Переименуй cgi в cgi-bin или htbin.



Офлайн

#7 Май 25, 2008 21:58:17

Алена
От:
Зарегистрирован: 2008-05-25
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с CGI

slivlen, спасибо за ответы. Я переименовывала но не помогло…

можно поставить вопрос вот так:

есть папка допустим 1 в ней находится файл “CGIHTTPServer.py” и папка “cgi_bin”, а в папочке “cgi-bin” - файл “index.html” и два файла 1.py и 2.py

Содержимое файла 1.py:

import cgi
import Cookie
form = cgi.FieldStorage()
a = form.value
c = Cookie.SmartCookie()
c = a
print “Content-Type: text/html”
print c.output()
print

print ‘<html>’
print ‘<body>’
print ‘<pre>’
print a
print ‘</pre>’
print ‘<form name=“f2” action=“2.py”>’
print ‘<input type=“text” name=“s2” size=“15” />’
print ‘<input type=“Submit” value=“Go!” />’
print ‘</form>’
print ‘</body>’
print ‘</html>’


Содержимое файла 2.py:

def lab7(sp):
dic = {}
n = 0
for j in range( len(sp) ):
x = sp
for i in range( len(sp) ):
if sp == x:
n += 1
dic[ sp ] = n
n = 0;
return dic

import os, Cookie
c = Cookie.SmartCookie()
c.load(os.environ)

print “Content-type: text/html”
print c.value
print

import cgi
form = cgi.FieldStorage()

st2 = form.value
st1 = c.value

st = st1+st2

print ‘<center><b>’
print lab7(st)
print ‘</center></b>’

в свою очередь index.html это обычный статический HTML документ

запускаю CGIHTTPServer.py, потом браузер, в строке набиваею http://localhost/cgi-bin/index.htm и ииии
ничего.. вот что не так? Не судите строго с Python знакома совсем чуть чуть…. а это лабораторная работа…. и надо срочно сделать…



Офлайн

#8 Май 25, 2008 22:07:51

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с CGI

Все файлы в /cgi-bin считаются скриптами, а index.html - это у тебя статика. Поэтому index.html надо положить в корневой директории, а скрипты в cgi-bin.



Офлайн

#9 Май 25, 2008 22:13:14

Алена
От:
Зарегистрирован: 2008-05-25
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с CGI

все равно ничего не выходит.. в браузере пишется невозможно отобразить страницу



Офлайн

#10 Май 25, 2008 22:24:05

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с CGI

После вывода кукисов добавь еще один print.

print "Content-Type: text/html"
print c.output()
print
####
print
И во втором скрипте аналогично.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version