Форум сайта python.su
Цель. Создание веб сервиса с помощью CGI. Динамическое измене страницы при выполнении CGI скрипта.
Описание работы программы
1. В данный момент создал приложение которые с помощью веб интерфейса запускает скрипт и передает в него определены параметры.
2. В данный момент страница формируется в тот момент когда скрипт уже отработал.
3. Динамическое имение страницы не происходит
Нужно реализовать
1. Динамическое измене страницы при выполнении CGI скрипта.
2. Программа должна показывать ход выполнения скрипта
3. Вывод информации должен происходит в веб страницу
Офлайн
Здесь пример использования CGI.
Офлайн
Код программы
Имя файла start_web_server.py
# coding: utf8 # Устанавливаем стандартную внешнюю кодировку = utf8 host ="127.0.0.1" #Хост сайта port = 8000 # Порт сайта print("Запущен веб сервер "+ str(host)+":"+str(port)); from http.server import HTTPServer, CGIHTTPRequestHandler server_address = (host, port) httpd = HTTPServer(server_address, CGIHTTPRequestHandler) httpd.serve_forever()
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Тест</title> </head> <body> <form action="form.py"> Введите параметр <input type="text" name="TEXT_1"> <input type="submit"> </form> </body> </html>
#!/usr/bin/env python3 # Устанавливаем стандартную внешнюю кодировку = utf8 # coding: utf8 import cgi import html import os form = cgi.FieldStorage() text1 = form.getfirst("TEXT_1", "не задано") text1 = html.escape(text1) print("Content-Type: text/html; charset=utf-8\n") print("""<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Тест веб сервиса</title> </head> <body>""") print("<h1>Запущен скрипт !</h1>") print("<p>Параметр {}</p>".format(text1)) import os os.system("D:\\Start.py") print("""</body> </html>""")
Офлайн
Нужно реализовать
1. Динамическое измене страницы при выполнении CGI скрипта.
2. Программа должна показывать ход выполнения скрипта
3. Вывод информации должен происходит в веб страницу
на данный момент цели не достигнуты
Офлайн
VIRTOKТы просто не знаешь, как работает HTTP-протокол. В нём нет никакой динамики, вся динамика происходит в браузере. Пишутся скрипты на JavaScript и браузер их читает и выполняет с помощью своего внутреннего движка. И вот эти скрипты ты можешь выдавать внутри страницы ответа от сервера. Браузер их увидит, прочитает и начнёт выполнять своим движком - крутить колесо и прочие вещи делать.
1. Динамическое измене страницы при выполнении CGI скрипта.
VIRTOKСкрипт CGI выполняется внутри сервера, и твой браузер не имеет доступ к внутренностям сервера, браузер только общается с сервером через протокол HTTP. Браузер посылает серверу запросы, а сервер на них отвечает браузеру ответы.
2. Программа должна показывать ход выполнения скрипта
VIRTOKЕсть такая технология подгрузки страницы. Она основана на JavaScript. Это когда скрипт в браузере работает всё время и подгружает постепенно куски информации, запрашивая их у сервера.
3. Вывод информации должен происходит в веб страницу
Офлайн