Програмирование

Linux

Сети

Базы данных

Сылки

Проекты

Заметки по написанию CGI Scrip.

При методе GET данные скриптом получаются из переменно окружения QUERY_STRING. При методе POST получаются из STDIN как и из командной строки что очень удобно при написании скриптов на языке "C".

Пример скрипта работающего с переменными окружения при использовании метода GET:

#!/bin/sh
# disable filename globbing
set -f

echo Content-type: text/plain
echo

echo CGI/1.0 test script report:
echo

echo argc is $#. argv is "$*".
echo

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 SCRIPT_NAME = "$SCRIPT_NAME"
echo QUERY_STRING = "$QUERY_STRING"
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

Параметры.

Первой строкой которую посылает CGI скрипт должна быть:

Content-type: text/plain

После которой обязательно должна следовать пустая строка.

Этот параметр сообщает серверу какой тип документа буде следовать далее.

Content-type: text/plain - сообщает серверу что далее будет следовать просто текстовый документ. Работает с методом GET

Content-type: text/html - HTML документ. Работает с методом Get

Content-type: text/x-www-form-urlencoded - на выходе будет текстовый документ и работает с методом POST. Что немного затрудняет написание скриптов на языку "С"

2005г.rz6hpi@yandex.ru
Hosted by uCoz