Главная / web программирование / web технологии
Основы web-технологий.С появлением высокопроизводительных серверов, сетевого оборудования и высокоскоростных каналов связи стала реальностью организация на основе ПК корпоративных вычислительных сетей. |
на поток. При получении дескриптора стандартного потока вывода в качестве значения параметра следует указать константу stdout, а при получении дескриптора стандартного потока ввода – stdin. Полученное значение дескриптора теперь можно использовать при вызове функции setmode() для перевода потока в двоичный режим:
#include
#include
int setmode(int handle, int mode);
Первым параметром данной функции является дескриптор открытого потока. Вторым параметром является режим, в который будет переведен поток, задаваемый одной из констант: O_TEXT при переводе потока в текстовый режим или O_BINARY при переводе потока в двоичный режим. Функция возвращает ранее установленный режим для данного потока или –1 в случае ошибки. Для записи в поток, находящийся в двоичном режиме, удобно использовать функцию fwrite():
#include
int fwrite(void *buffer, size_t size, size_t count, FILE *stream);
В параметре buffer передается адрес буфера, откуда будут взяты записываемые в поток данные. В параметрах size и count указывается длина читаемого блока. Поскольку приложение CGI передает длину тела сообщения в байтах, то в параметре size указывается 1, а в параметре count – длина передаваемого блока данных. В качестве параметра stream следует передать константу stdout, для указания того, что запись производится в стандартный поток вывода. Функция fwrite() возвращает количество фактически записанных символов. Функцию printf() неудобно использовать при передаче двоичных данных, поскольку в передаваемом блоке могут оказаться нули. Стандартный поток ввода практически всегда нужно переводить в двоичный режим, поскольку, если передаваемые от пользовательского агента данные являются многострочными, то есть содержат символы перевода строки и возврата каретки, то значение переменной окружения CONTENT_LENGTH не будет соответствовать фактическому числу символов, прочитанному из стандартного потока ввода в текстовом режиме. Программа CGI должна выполнить следующие действия: 1. Прочитать значение заголовка REQUEST_METHOD для определения запрашиваемого метода. 2. Если запрашиваемый метод – GET, то прочитать переменную окружения QUERY_STRING и считать полученное значение кодированным содержимым формы. Способ кодирования считать равным application/x-www-url-encoded. 3. Если запрашиваемый метод – POST, то прочитать длину тела сообщения запроса из переменной окружения CONTENT_LENGTH. Из стандартного потока ввода прочитать тело сообщения запроса и считать его кодированным содержимым формы. Способ кодирования прочитать из переменной окружения CONTENT_TYPE. 4. Разобрать кодированное содержимое формы в зависимости от способа кодирования. 5. Прочитать необходимые программе CGI переменные окружения. 6. Выполнить все необходимые в программе действия и сформировать документ с результатом работы программы. 7. Отправить в стандартный поток |
Дата публикации: 25 Января, 2011
Автор: Стрельников О.И
Прочитано: 6181 раз
< | 1 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | > |
Это интересно
Синтаксис языка и операторы. Функции работы с данными. Файлы и сети. Управляющие функции. Взаимодействие с базами данных. Графика. |
Предлагаемая вашему вниманию книга задумывалась не как практическое руководство по веб-дизайну, а скорее как учебник общего дизайна на частном материале веб-сайтов. |
Обзор приемов раскрутки web-сайтов. |