Найти - Пользователи
Полная версия: Проблемы с CGI
Начало » Python для экспертов » Проблемы с CGI
1 2
Алена
Привет всем. У меня возникла небольшая проблема, может кто-то уже с таким сталкивался и сможет помочь советом? Имеется 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 в том виде в каком он написан выше :(

я не понимаю почему…. Помогите, пожалуйста…
slivlen
Проблема в настройках веб-сервера.

P.S.
'Имеется CGI скрипт написанный в питоне'.replace('в', 'на')
Алена
ну это понятно что настройках.. а что конкретно? я просто вообще не
могу понять….
slivlen
Для начала неплохо бы указать название веб сервера и показать его конифиг.
Алена
Тестирование web-приложения провожу с помощью модуля
CGIHTTPServer из стандартной поставки Python. то есть сначала запускаю
файл CGIHTTPServer.py


У меня действительно ошибка в том что я наверное не так запускаю.. что ли….
ПО идеи надо было просто запустить CGIHTTPServer.py затем открыть браузрер… и там набрать… http://localhost/cgi/index.htm….. в папке как раз и находиться файл который приведен выше… но так вообще ничего не работает….
slivlen
Переименуй cgi в cgi-bin или htbin.
Алена
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 знакома совсем чуть чуть…. а это лабораторная работа…. и надо срочно сделать…
slivlen
Все файлы в /cgi-bin считаются скриптами, а index.html - это у тебя статика. Поэтому index.html надо положить в корневой директории, а скрипты в cgi-bin.
Алена
все равно ничего не выходит.. в браузере пишется невозможно отобразить страницу
slivlen
После вывода кукисов добавь еще один print.
print "Content-Type: text/html"
print c.output()
print
####
print
И во втором скрипте аналогично.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB