Создание CGI-сценариев
Создание CGI-сценариев
Подобно другим сценариям, CGI-сценарии представляют собой программный код, предназначенный для выполнения. Данная глава не является руководством по написанию CGI-сценариев; в этом разделе приведены лишь некоторые общие рекомендации по работе с ними. Если вам потребуется дополнительная информация о создании CGI-сценариев, обратитесь к Web-странице по адресу http://httpd.apache.org/docs/howto/cgi.html либо к одной из книг, посвященных этой теме.
CGI-сценарии принимают входные данные через стандартный ввод и выводят сгенерированную Web-страницу через стандартный вывод. Вывод текста, который должен быть передан клиенту, ничем не отличается от обычного вывода на консоль. Необходимо лишь помнить, что клиент просматривает информацию посредством Web-броузера, поэтому ваш CGI-сценарий должен генерировать информацию в формате HTML либо в другом формате, поддерживаемом Web-клиентом. (Например, вы можете сформировать ответ в виде графического файла.)
Помимо HTML-кода, CGI-сценарий должен создать поле заголовка Content-Type и в качестве его значения указать MIME-тип данных, передаваемых клиенту. Это поле имеет следующий вид:
Content-type: text/html
В данном примере указан MIME-тип text/html, означающий, что в ответ на запрос клиента CGI-сценарий сгенерировал HTML-документ. Символы соответствуют двум переводам строки, в результате поле заголовка будет отделено от остальных данных пустой строкой. Код сценария зависит от используемого вами языка программирования. Простейший пример CGI-сценария, написанного на языке Perl, приведен в листинге 20.1. Как видно из листинга, в процессе выполнения сценарий выводит строку текста. Записав файл с этим кодом в каталог, предназначенный для размещения CGI-сценариев, установите права доступа. Если после этого вы зададите URL сценария в поле адреса броузера, то увидите строку "Hello, Web".
Листинг 20.1. Простой CGI-сценарий, написанный на языке Perl
#!/usr/bin/perl
print "Content-type: text/html ";
print "Hello, Web";
С обработкой входных данных дело обстоит несколько сложнее. Ваш сценарий получит данные только в том случае, если они были введены пользователем посредством интерактивных элементов, содержащихся в форме. Данные поступают на вход сценария в виде набора пар имя-значение. Имя отделяется от значения символом =, а пары имя-значение разделяются символами &. Пример строки параметров, передаваемой CGI-сценарию, приведен ниже.
city=Oberlin&state=OH&zip=44074
Перед тем как использовать полученные данные, надо произвести разбор строки параметров. В языке Perl предусмотрены мощные средства работы со строками. Этот факт стал одной из причин популярности Perl среди разработчиков CGI-сценариев.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Примеры сценариев
Примеры сценариев Ниже подробно рассмотрены несколько завершенных сценариев, иллюстрирующих работу с файловой системой
Примеры сценариев
Примеры сценариев Начнем мы с того, что скопируем данные записной книжки из XML-файла book.xml в DBF-таблицу Phone.dbf (сценарий InsertRecords.js). Все остальные сценарии, которые рассматриваются в этой главе, будут работать уже с этой
Создание сценариев включения/выключения и входа/выхода
Создание сценариев включения/выключения и входа/выхода Напомним, что в Windows XP/2000/NT для настройки среды пользователя используются профили (локальные и серверные), в состав которых входят все настраиваемые пользователем параметры: язык и региональные настройки, настройка
Создание и редактирование сценариев
Создание и редактирование сценариев Одним из наиболее мощных и удобных редакторов сценариев для Windows является Primalscript, который разработан компанией SAPIEN Technologies, Inc. Последней на момент написания книги являлась версия Primalscript 2.2, ознакомительная 40-дневная версия которой
Подписывание сценариев
Подписывание сценариев Для того чтобы подписать сценарий в Primalscript, нужно сначала выбрать нужный цифровой сертификат. Имя этого сертификата (Certificate) и, в случае необходимости, хранилище (Store), в котором он находится, указываются на вкладке WSH диалогового окна Options (пункт
Примеры Web-сценариев
Примеры Web-сценариев Язык JavaScript лучше всего изучать, имея перед глазами пару хороших примеров. Поэтому давайте сразу создадим
Поддержка CGI-сценариев
Поддержка CGI-сценариев Если вы собираетесь использовать CGI-сценарии, то должны сообщить серверу Apache о своем намерении. При получении URL, содержащего имя сценария, сервер должен запустить этот сценарий, а также организовать обработку данных, переданных клиентом,
Примеры Web-сценариев
Примеры Web-сценариев Язык JavaScript лучше всего изучать, имея перед глазами пару хороших примеров. Поэтому давайте сразу создадим их. Простейший Web-сценарий Первый Web-сценарий, который мы напишем, будет совсем простым. Он выведет на Web-страницу текущую дату.В самом начале этой
Использование сценариев
Использование сценариев Иногда требуется одинаково обработать большое количество звуковых файлов. В программе Sound Forge есть средства для автоматизации таких задач. Это можно сделать с помощью сценариев, куда записывается последовательность действий при обработке
Редактор сценариев
Редактор сценариев Сценарии создаются и редактируются в специальном редакторе Script Editor (Редактор сценариев). Просмотрим код сценария и применим его к звуковому файлу.1. Выполните команду View ? Script Editor (Вид ? Редактор сценариев) – откроется окно Script Editor (Редактор сценариев)
I.1. Анализ сценариев
I.1. Анализ сценариев Просмотрите следующие сценарии. Попробуйте запустить их, затем объясните -- что они делают. Расставьте комментарии, затем попробуйте записать их в более компактном виде.#!/bin/bashMAX=10000 for((nr=1; nr<$MAX; nr++)) do let "t1 = nr % 5" if [ "$t1" -ne 3 ] then continue fi let "t2 = nr % 7"
I.2. Создание сценариев
I.2. Создание сценариев Напишите сценарии для выполнения повседневных задач.Простые заданияСодержимое домашнего каталогаВыполните рекурсивный обход домашнего каталога и сохраните информацию в файл. Сожмите файл. Попросите пользователя вставить дискету и нажать
Создание и удаление кнопок из сценариев
Создание и удаление кнопок из сценариев Ранее в этой главе мы говорили, что имеется возможность создавать и удалять клипы из сценариев, пользуясь соответственно методами attachMovie и removeMovieClip объекта movieclip и аналогичными действиями. Такая возможность реализована и для