Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
CGI программа всегда размещается на диске сервера до ее выполнения. Web - сервер требует размещения CGI - приложения в директорию cgi-bin, однако системный администратор может выделить вам и другой каталог. Простейший способ вызова CGI программы состоит в указании броузеру URL этой программы. Например, если вы хотите выполнить программу test.pl на локальном web - сервере, вы должны ввести URL: http://localhost/cgi-bin/test.pl. Здесь cgi-bin представляет относительный адрес, к которому может добавляться остальной путь, напрмер: /usr/local/etc/httpd/cgi-bin/test.pl или /website/cgi-shl/test.pl.
Есть и другой способ вызова CGI программы. Вы можете поставить гиперссылку, например на кнопку формы
<A HREF="cgi-bin/test.pl">Click here to run a CGI program</A>
Информацию для CGI программы можно передать, добавляя ее к стандартному URL. Например <A HREF="cgi-bin/search.pl/root/document"> Search the Document Directory</A>
Информация о пути доступна через переменную окружения PATH_INFO.
Для поиска может быть использован знак вопроса
<A HREF="cgi-bin/search.pl?Wine+1993">Search for 1993 Wines</A>
Информация после знака вопроса доступна через переменную окружения QUERY_STRING.
Приведем пример простейшей CGI программы:
#!/usr/local/bin/perl -w
use strict;
print "Content-type: text/plain\n\n";
print "Hello, World.\n";
Файл test.pl с этой программой помещается в каталог cgi-bin web сервера. Затем задается URL вида: http://localhost/cgi-bin/test.pl
Результат: Hello, World.
При выполнении CGI программы автоматически открываются стандартные файлы STDIN - ввода информации из HTML формы, STDOUT - вывода в окно броузера, STDERR - вывода сообщений в log - файл сервера.
Первая строка вывода для CGI программы должна содержать заголовок HTTP, который сообщает броузеру клиента какой тип сообщения будет послан на STDOUT: print("Content Type: text/html\n\n");
Могут быть другие заголовки, например Location определяет какую из страниц открыть: print("Location: $nextPage\n\n");
CGI и переменные окружения
Переменные окружения доступны CGI программе через переменную %ENV. Могут использоваться следующие переменные окружения:
CONTENT_LENGTH - содержит длину записи, передаваемой скрипту через STDIN файл. Используется в методе POST.
CONTENT_TYPE - содержит тип данных, доступных через STDIN.
HTTP_ACCEPT - содержит лист MIME типов программ броузера
HTTP_USER_AGENT - тип броузера пользователя
HTTP_FROM - содержит email адрес пользователя.
PATH_TRANSTLATED - путь к скрипту
REMOTE_ADDR - числовой адрес пользователя
REMOTE_HOST - имя домена сайта из которого коннектится пользователь.
REMOTE_USER - имя пользователя.
REQUEST_METHOD - содержит метод "GET" или "POST"
SCRIPT_NAME - путь к скрипту.
SERVER_NAME имя хоста сервера.
SERVER_PORT -содержит прослушиваемый порт, стандартно 80.
SERVER_PROTOCOL имя протокола сервера.
Дата публикования: 2014-11-18; Прочитано: 355 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!