Сервер Web своими руками. Язык HTML, приложения CGI и ISAPI



Переменные среды для программы CGI


Прежде чем перейти к примерам программ CGI, мы изучим переменные среды, которые формируются для этих программ перед запуском. Через эти переменные помимо данных из полей форм передается и другая очень важная информация, которую не всегда следует игнорировать.

Изучение переменных среды мы начнем с того, что просмотрим их значение с помощью простейшей программы CGI, созданной с использованием языка пакетных заданий операционной системы Microsoft Windows NT, а проще говоря, с помощью обыкновенного файла с расширением имени bat.

Для запуска этой “программы” мы подготовили форму, исходный текст которой представлен в листинге 7.2.

Листинг 7.2. Файл chap7\viewenv\viewenv.htm

<HTML>

<HEAD>

 <TITLE>Просмотр переменных среды</TITLE>

</HEAD>

<BODY BGCOLOR=#FFFFFF>

<H1>Просмотр переменных среды</H1>

<P>Для просмотра переменных среды, передаваемых программе

CGI, нажмите кнопку &quot;View&quot;

<FORM METHOD=GET ACTION="http://saturn/frolov-cgi/test.bat?param1">

<INPUT TYPE=SUBMIT VALUE="View">

</FORM>

</BODY>

</HTML>

Форма выглядит так, как это показано на рис. 7.3.

Рис. 7.3. Форма для запуска программы CGI просмотра значений переменных среды

Обратите внимание, что после имени программы CGI через разделительный символ “?” указана строка параметров param1, которая может быть получена и проанализирована программой CGI.

Исходный текст программы CGI приведен в листинге  7.3.

Листинг 7.3. Файл chap7\viewenv\test.bat

echo Content-type: text/plain

echo

echo %0 %1 %2 %3

set

В первой строке программа выводит в стандартный поток вывода STDOUT строку заголовка HTTP. Эта строка описывает тип передаваемых данных как text/plain, то есть обычный текст без оформления с использованием операторов HTML.

Вторая строка выводит в стандартный поток вывода пустую строку, которая отделяет заголовок HTTP от передаваемых данных.

Третья строка выводит путь к загрузочному файлу программы CGI и параметры, полученные ей при запуске.




Содержание  Назад  Вперед