Linux и UNIX: программирование в shell. Руководство разработчика
вернуться

Тейнсли Дэвид

Шрифт:

<A href="#" >here</A>

</CENTER>

<H2>

<HR>

</HTML>

Ниже приведен сценарий printenv.cgi, выводящий на печать значения параметров среды. В сценарии используется команда env. Тег <PRE> применяется для сохранения форматирования (вывода табуляции и пробелов).

$ pg printenv.cgi

#!/bin/sh

# printenv.cgi

# вывод на печать настроек Web–сервера с помощью команды env

echo "Content-type: text/html"

echo ""

echo "<HTML><PRE>"

env

echo "</PRE></HTML>"

Рис. 29.5. Страница, включающая ссылку для просмотра переменных среды

На рис. 29.5 показано, как выглядит страница с добавленной ссылкой.

После щелчка на ссылке отображаются настройки среды (рис. 29.6). Эти настройки могут слегка отличаться в каждом конкретном случае. При выполнении различных сценариев возможно изменение настроек с целью адаптации к новой среде.

Рис. 29.6. Страница, отображающая значения текущих переменных

29.4.6. Другие общие переменные среды

В табл. 29.2 представлены наиболее часто применяемые переменные среды cgi. Значения некоторых из этих переменных могут быть просмотрены с помощью команды env либо set.

Таблица 29.2. Общие переменные cgi Web–сервера

DOCUMENT ROOT

Основной каталог Web–сервера, куда загружаются документы

GATEWAY_INTERFACE

Редакция cgi

HTTP_ACCEPT

Другие подтвержденные типы MIME

HTTP_CONNECTION

Предпочитаемое подключение HTTP

HTTP_HOST

Имя локального хост–компьютера

HTTP USER AGENT

Клиентский броузер

REMOTE_HOST

Удаленный хост–компьютер

REMOTE_ADDR

[3]

IP–адрес удаленного хост–компьютера

REQUEST_METHOD

Метод, используемый для передачи информации

SCRIPT FILENAME

Абсолютное имя пути сценария cgi

SCRIPT_NAME

Относительное имя пути сценария cgi

SERVER_ADMIN

Адрес электронной почты Web–администратора

SERVER_NAME

Хост–имя, DNS либо IP–адрес сервера

SERVER_PROTOCOL

Протокол, используемый для реализации соединения

SERVER_SOFTWARE

Наименование программного обеспечения Web–сервера

QUERY_STRING

Передаваемые данные из метода GET

CONTENT_TYPE

Тип MIME

CONTENT_LENGTH

Количество байтов, передаваемых с помощью метода post

Для отображения значения переменных можно заключить эти переменные в небольшой сценарий cgi, а затем вызывать данный сценарий в случае, если нужно проверить значение переменной.

$ pg evncgi.cgi

#!/bin/sh

#envcgi.cgi

#вывод на печать настроек web–сервера с помощью команды env

echo "Content-type: text/html"

echo ""

echo "<HTML><PRE>"

echo "CGI Test ENVIRONMENTS"

echo "SERVER_SOFTWARE=$SERVER_SOFTWARE"

echo "SERVER_NAME=$SERVER_NAME"

echo "GATEWAY_INTERFACE=$GATEWAY_INTERFACE"

echo "SERVER_PROTOCOL=$SERVER_PROTOCOL"

echo "SERVER_PORT=$SERVER_PORT"

echo "REQUEST_METHOD=$REQUEST_METHOD"

echo "HTTP_ACCEPT=$HTTP_ACCEPT"

echo "PATH_INFO=$PATH_INFO"

echo "PATH_TRANSLATED=$PATH_TRANSLATED"

echo "QUERY_STRING=$QUERY_STRING"

echo "SCRIPT_NAME=$SCRIPT_NAME"

echo "REMOTE_HOST=$REMOTE_HOST"

echo "REMOTE_ADDR=$REMOTE_ADDR"

echo "REMOTE_USER=$REMOTE_USER"

echo "AUTH_TYPE=$AUTH_TYPE"

echo "CONTENT_TYPE=$CONTENT_TYPE"

echo "CONTENT_LENGTH=$CONTENT_LENGTH"

echo "</PRE></HTML>"

29.5. Введение в методы get и post

  • Читать дальше
  • 1
  • ...
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • ...

Private-Bookers - русскоязычная библиотека для чтения онлайн. Здесь удобно открывать книги с телефона и ПК, возвращаться к сохраненной странице и держать любимые произведения под рукой. Материалы добавляются пользователями; если считаете, что ваши права нарушены, воспользуйтесь формой обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • help@private-bookers.win