Найти - Пользователи
Полная версия: Создание веб сервиса с помощью CGI. Динамическое измене страницы при выполнении CGI скрипта.
Начало » Web » Создание веб сервиса с помощью CGI. Динамическое измене страницы при выполнении CGI скрипта.
1
VIRTOK
Цель. Создание веб сервиса с помощью CGI. Динамическое измене страницы при выполнении CGI скрипта.
Описание работы программы
1. В данный момент создал приложение которые с помощью веб интерфейса запускает скрипт и передает в него определены параметры.
2. В данный момент страница формируется в тот момент когда скрипт уже отработал.
3. Динамическое имение страницы не происходит

Нужно реализовать
1. Динамическое измене страницы при выполнении CGI скрипта.
2. Программа должна показывать ход выполнения скрипта
3. Вывод информации должен происходит в веб страницу

py.user.next
Здесь пример использования CGI.
VIRTOK

Код программы
Имя файла 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()

Имя файла index.html
 <!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>

Имя файла form.py
 #!/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>""")
VIRTOK
Нужно реализовать
1. Динамическое измене страницы при выполнении CGI скрипта.
2. Программа должна показывать ход выполнения скрипта
3. Вывод информации должен происходит в веб страницу

на данный момент цели не достигнуты
py.user.next
VIRTOK
1. Динамическое измене страницы при выполнении CGI скрипта.
Ты просто не знаешь, как работает HTTP-протокол. В нём нет никакой динамики, вся динамика происходит в браузере. Пишутся скрипты на JavaScript и браузер их читает и выполняет с помощью своего внутреннего движка. И вот эти скрипты ты можешь выдавать внутри страницы ответа от сервера. Браузер их увидит, прочитает и начнёт выполнять своим движком - крутить колесо и прочие вещи делать.

VIRTOK
2. Программа должна показывать ход выполнения скрипта
Скрипт CGI выполняется внутри сервера, и твой браузер не имеет доступ к внутренностям сервера, браузер только общается с сервером через протокол HTTP. Браузер посылает серверу запросы, а сервер на них отвечает браузеру ответы.

VIRTOK
3. Вывод информации должен происходит в веб страницу
Есть такая технология подгрузки страницы. Она основана на JavaScript. Это когда скрипт в браузере работает всё время и подгружает постепенно куски информации, запрашивая их у сервера.
https://ru.wikipedia.org/wiki/AJAX

Так что тебе нужно почитать про HTTP и про JavaScript. Потом ещё про HTML и CSS. А CGI тут вообще ни при чём. CGI - это то, что происходит внутри сервера.
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