- •Обработка форм Для этого необходимо наличие:
- •-что с ней происходит;
- •Такая программа называется:
- •Диалог пользователя
- •6.Сценарий передает ответ серверу.
- •Атрибуты:
- •Механизм CGI
- •-переменные окружения;
- •Виды ответов
- •3. Переадресация
- •Механизмы обмена
- •I.Переменные окружения
- •б) Запросо-ориентированные
- •- REQUEST_METHOD -
- •- QUERY_STRING - информация о запросе, переданная в программу. Для присоединения этой информации
- •В QUERY_STRING помещается все,
- •Следующие две переменные определяют тип и длину передаваемой информации от клиента к серверу.
- •- CONTENT_LENGTH - определяет, сколько байтов необходимо прочитать из стандартного потока.
- •Обработка результатов
- •Заголовок состоит из одной или
- •Прямой возврат
- •Сервер просматривает
- •Методы доступа
- •1. Метод GET
- •Имеется разновидность метода
- •2. Метод POST
- •Данные в методе POST идут в таком же формате, как и для метода
- •Символ “пробел” заменяется
- •3. Метод HEAD
- •Ответ сервера
- •2. Полный ответ
- •Строка состояния
- •Классы кодов
- •Это могут быть:
- •- 5хх – ошибки сервера (сервер столкнулся с ошибкой и, вероятно, не сможет
- •Код возврата обозначает
- •Настройка
- •Необходимо:
- •б) ищется переменная
- •2.Файл httpd.conf
- •Для Web-сервера Apache версии
- •Работа с Web-сервером:
- •-если компьютер подключен к
- •-Включить кнопку «Использовать
- •В браузере Firefox надо проделать
- •В браузере Opera надо проделать
- •Вам выдан файл:
- •1.Если доступен диск C:, то в нем
- •4. Если Вы всё проделали:
- •7. Для выключения работы сервера
- •Примеры скриптов
- •Вначале необходимо включить
- •Способ 1. int *L_s; int cnl;
- •char str [1024]; fgets (str, cnl, stdin);
- •Способ 2
- ••Можно сделать и так: char *pR_M;
- •Delphi
- •2. Чтение и запись стандартными
- •3. Для получения значений
- •Эта функция возвращает:
- •Например
- •II.Через объекты
- •3. В Инспекторе объектов выбрать
- •5.Перейти в Инспектор объектов на
- •В заготовке будет процедура
- ••В заготовке процедуры можно
- •В переменной Str_Data все строки
- ••Для извлечения значений полей
- •Для помещения данных при
2. Чтение и запись стандартными
процедурами ввода/вывода Read (), Readln () Write (), Writeln () FileRead (), FileWrite ()
•Кроме того, необходимо не забыть про
AssignFile (F,S);
•Назначить имени файла S дескриптор файла F.
61
3. Для получения значений
переменных окружения надо применить функцию API Windows
GetEnviromentVariable (PChar(Name), Buffer, SizeOf(Buffer));
•Здесь
Name – имя переменной окружения,
Buffer – буфер для значения переменной.
62
Эта функция возвращает:
-число записанных символов в буфер, не включая терминальный нулевой символ;
-если имя переменной не найдено, то возвращается ноль;
-если размер буфера мал, то она возвращает необходимый размер для её сохранения.
63
Например
I := GetEnviromentVariable (‘QUERY_STRING’,nil,0);
•Первоначально мы не знаем, сколько байтов находятся в переменной QUERY_STRING.
GetMem (P, I + 3);
•Забираем память для переменной QUERY_STRING с запасом (выравниваем на 4 байта).
P – указатель на область памяти.
64
I := GetEnviromentVariable
(‘QUERY_STRING’,P,I);
•Здесь в качестве размера буфера указывается значение I.
•Данные из QUERY_STRING заносятся в буфер по адресу P.
65
II.Через объекты
1.Выбрать в главном меню Delphi
File -> New -> в коллекции шаблонов шаблон WebServerApplication.
2. Из нескольких типов серверов выбрать тип сервера
CGI Stand-alone executable для создания exe модулей.
66
3. В Инспекторе объектов выбрать
компоненту TWebModule и вызвать редактор свойства Action.
Добавить в список одну его операцию Action. В Инспекторе объектов тут же появится её свойства.
4. Заменить значения свойств: |
|
PathInfo на test, |
|
а Default на True. |
67 |
5.Перейти в Инспектор объектов на
страницу Events и дважды щелкнуть кнопкой мыши в поле объекта onAction.
6.В появившейся заготовке метода набрать текст скрипта, то есть процедуру TWebModule1.
7.Откомпилировать и поместить скрипт в каталог, где для Веб- сервера должны находиться скрипты. 68
В заготовке будет процедура
TWebModule1.WebModule1WebAction Item1Action (
Sender: Tobject; Request: TWebRequest;
Response: TWebResponse; var Handler: Boolean);
На уровне разработки программ |
|
интерфейс с данными не зависит |
|
от типа приложения (стандартный |
|
CGI или Windows CGI) и является |
|
закрытым для разработчика. |
69 |
|
•В заготовке процедуры можно
ввести, в качестве примера, такой текст:
var Str_Data: TStringList; Str1: string;
•Переменная Str_Data для приема данных, а Str1 – для вспомогательных целей при выводе.
begin |
|
Str_Data := TStringList.Create; |
|
•Создаем объект Str_Data типа |
|
TStringList, в которой будут все |
|
данные формы. |
70 |