Форум сайта python.su
Здравствуйте уважаемые форумчане, изучая учебник “Програмирование на Питон” 4- издание М.Луц, сталкнулся с такой проблемой:
при запуске cgi101.html
<html> <title>Interactive Page</title> <body> <form method=POST action="cgi-bin/cgi101.py"> <P><B>Enter your name:</B> <P><input type=text name=user> <P><input type=submit> </form> </body></html>
#!/usr/bin/env python import cgi form = cgi.FieldStorage() # parse form data print('Content-type: text/html\n') # hdr plus blank line print('<title>Reply Page</title>') # html reply page if not 'user' in form: print('<h1>Who are you?</h1>') else: print('<h1>Hello <i>%s</i>!</h1>' % cgi.escape(form['user'].value))
""" Implement an HTTP web server in Python that knows how to run server-side CGI scripts coded in Python; serves files and scripts from current working dir; Python scripts must be stored in webdir\cgi-bin or webdir\htbin; """ import os, sys from http.server import HTTPServer, CGIHTTPRequestHandler webdir = '.' # where your html files and cgi-bin script directory live port = 8888 # default http://localhost/, else use http://localhost:xxxx/ os.chdir(webdir) # run in HTML root dir srvraddr = ("", port) # my hostname, portnumber srvrobj = HTTPServer(srvraddr, CGIHTTPRequestHandler) srvrobj.serve_forever() # run as perpetual daemon
Отредактировано palzuncoff (Фев. 6, 2016 14:15:48)
Офлайн
Офлайн
тему прочел, права предоставил не ограничиные
теперь ошибку не выдает
но после запуска cgi101.py в браузере открывается просто пустое окно, абсолютно белый лист
вот что пишет сервер
127.0.0.1 - - “POST /cgi-bin/cgi101.py HTTP/1.1” 200 -
127.0.0.1 - - CGI script exit status 0x7f00
127.0.0.1 - - “POST /cgi-bin/cgi101.py HTTP/1.1” 200 -
127.0.0.1 - - CGI script exit status 0x7f00
127.0.0.1 - - “POST /cgi-bin/cgi101.py HTTP/1.1” 200 -
127.0.0.1 - - CGI script exit status 0x7f00
127.0.0.1 - - “POST /cgi-bin/cgi101.py HTTP/1.1” 200 -
127.0.0.1 - - CGI script exit status 0x7f00
127.0.0.1 - - code 404, message File not found
127.0.0.1 - - “GET /favicon.ico HTTP/1.1” 404 -
127.0.0.1 - - “POST /cgi-bin/cgi101.py HTTP/1.1” 200 -
127.0.0.1 - - CGI script exit status 0x7f00
Офлайн
palzuncoffНадо запустить скрипт, который там в архиве.
тему прочел, права предоставил не ограничиные
Офлайн
)))) работает отлично, осмелюсь спросить а вчем проблемма?
дело в сервере? дальше на протяжении заданий пользоватся им?
Отредактировано palzuncoff (Фев. 7, 2016 11:49:18)
Офлайн
palzuncoffПозаменяй части: замени сервер, оставь скрипты; замени скрипты, оставь сервер.
дело в сервере?
Офлайн
Я все проверил, сопоставил и выяснил, что некоректно работает исходный файл из учебника cgi101.py,
в скаченом архиве ему соответствует reply.py. Я стал заменять фрвгменты кода копируя их из reply.py, но после повторных запусков ничего не происходило. Затем я просто скопировал все содержимое reply.py и перенёс его в cgi101.py (то есть cgi101.py стал полностью идентичен reply.py), и вновь ничего не произошло (Браузер по прежнему выдавал чистый лист). Однако если переписать в эту папку reply.py и переименовать в cgi101.py (удалив исходный разумеется) то все работает как надо.
все прверил трижды, при запущеном сервере и перезагружая его, никакого эффекта.
Офлайн
Возьми тот cgi101.py и прикрепи его к сообщению.
Офлайн
вот он cgi101.py исходник из учебника
Прикреплённый файлы: cgi101.py (363 байта)
Офлайн
Там сервер не понимает \r в концах строк. Если их удалить, всё нормально.
Офлайн