powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Проблема с CGI
10 сообщений из 10, страница 1 из 1
Проблема с CGI
    #35333899
Novichok!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем. У меня возникла небольшая проблема, может кто-то уже с таким сталкивался и сможет помочь советом? Имеется CGI скрипт написанный в питоне:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
import cgi
import Cookie
form = cgi.FieldStorage()
a = form["s1"].value
c = Cookie.SmartCookie()
c["st1"] = 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 в том виде в каком он написан выше :(

я не понимаю почему.... Помогите, пожалуйста...
...
Рейтинг: 0 / 0
Проблема с CGI
    #35333998
Фотография Николай Кальмарский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю, что если показывается именно код скрипта, значит проблема в http сервере. Хотя и сам скрипт неправильный, корректней было бы писать хотя бы так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
import cgi
import Cookie
form = cgi.FieldStorage()
a = form["s1"].value
c = Cookie.SmartCookie()
c["st1"] = 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>'

Но! В любом случае, ВЕСЬ скрипт показываться не должен был бы. По идее, из-за ошибки в определении типа контента должен показаться вывод скрипта как текст. Но не сам скрипт....
...
Рейтинг: 0 / 0
Проблема с CGI
    #35334003
Фотография Николай Кальмарский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть вопрос -- что за сервер используется и что в логах пишется.
...
Рейтинг: 0 / 0
Проблема с CGI
    #35334008
Novichok!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тестирование web-приложения провожу с помощью модуля
CGIHTTPServer из стандартной поставки Python. то есть сначала запускаю
файл CGIHTTPServer.py
...
Рейтинг: 0 / 0
Проблема с CGI
    #35334025
Novichok!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня действительно ошибка в том что я наверное не так запускаю.. что ли....
ПО идеи надо было просто запустить CGIHTTPServer.py затем открыть браузрер... и там набрать... http://localhost/cgi/index.htm..... в папке как раз и находиться файл который приведен выше... но так вообще ничего не работает....
...
Рейтинг: 0 / 0
Проблема с CGI
    #35334026
Фотография Frenzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
цгишку положите в /cgi-bin или пропишите cgi_directories вашего хендлера
...
Рейтинг: 0 / 0
Проблема с CGI
    #35334034
Novichok!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Frenzyцгишку положите в /cgi-bin или пропишите cgi_directories вашего хендлера


не понятно....
...
Рейтинг: 0 / 0
Проблема с CGI
    #35334108
Novichok!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно поставить вопрос вот так:

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

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
import cgi
import Cookie
form = cgi.FieldStorage()
a = form["s1"].value
c = Cookie.SmartCookie()
c["st1"] = 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:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
def lab7(sp):
    dic = {}
    n = 0
    for j in range( len(sp) ):
        x = sp[j]
        for i in range( len(sp) ):
            if sp  == x:
                n += 1
        dic[ sp[j] ] = n
        n = 0;
    return dic

import os, Cookie
c = Cookie.SmartCookie()
c.load(os.environ["HTTP_COOKIE"])

print "Content-type: text/html"
print c["st1"].value
print

import cgi
form = cgi.FieldStorage()

st2 = form["s2"].value
st1 = c["st1"].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 знакома совсем чуть чуть.... а это лабораторная работа.... и надо срочно сделать...
...
Рейтинг: 0 / 0
Проблема с CGI
    #35334126
Фотография Frenzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
положи куда-нибудь CGIHTTPServer.py, туда же свой index.html, потом создай там же папку cgi-bin (именно минус а не подчеркивание), в эту папку цги-бин положи два своих .пи файла.

Потом открой консоль (пуск-выполнить-cmd) пойди в исходную папку где у тебя CGIHTTPServer.py, запусти его (просто написав CGIHTTPServer.py)

Он тебе должен написать чего-нибудь типо
Код: plaintext
Serving HTTP on  0 . 0 . 0 . 0  port  8000  ...
- это окно не закрываешь, смотришь какой порт он назвал, дальше его подставляешь: запускаешь браузер и пишешь http://localhost:8000/index.html - должно показать твой индекс.хтмл. пишешь http://localhost:8000/cgi-bin/1.py - должно выполнить твой скрипт и вывести результат

это всё будет работать только если у тебя нормально питон установлен (а именно когда 2 раза по .пи-файлу клацаешь он выполняется питоном - а иначе он откроется той программой с которой ассоциированно расширение .пи, вместо того чтобы выполниться)

_______________________________________
2pro4U
...
Рейтинг: 0 / 0
Проблема с CGI
    #35334163
Novichok!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Frenzy СПАСИБО БОЛЬШОЕ!!!!!!!! Все заработало.....
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Проблема с CGI
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]