В настоящем руководстве объясняется, как программировать CGI на Delphi и Kylix.
Автор будет рад Вашим замечаниям и пожеланиям!
Уточнения:
Для работы с CGI вам потребуется Web-сервер
(для Delphi - под Windows, а для Kylix - под Linux)...
Автор тестировал свои программы на сервере Lotus Domino под NT,
и на сервере Apache под Mandrake 7.0 (linux).
Автор использовал Delphi 2.0, однако это руководство применимо
и для Delphi 3,4,5, 6... и Kylix !
Примечание:
Если вы планируете использовать ISAPI/NSAPI DLL,
то лучше будет программировать на Delphi 5/6;
однако настоящее руководство остается весьма полезным,
если Вы желаете разобраться в том, как функционирует CGI.
Основные понятия
Ссылки на CGI-программу:
На HTML-странице (или непосредственно в строке URL браузера) вы
помещаете ссылку на вашу программу. Вот несколько примеров ссылок:
cgi-bin - это псевдоним каталога на сервере,
который указывает на реальный каталог, в котором
размещены все CGI программы.
Например:
Под Windows:
c:\internet\delphi\cgi
Под Linux:
/home/httpd/cgi-bin
Запуск CGI-программ:
Когда пользователь кликает на ссылке, указывающей на CGI-программу,
сервер запускает данную программу и ожидает от нее ответа.
Ответ CGI-программы:
Самым простым вариантом CGI программы может служить
консольное приложение {$apptype console}, которое
похоже на DOS-программу, однако работает под Windows 95/NT,
или под Linux.
Эта возможность позволяет тестировать CGI-программу
локально, выводя результат работу на экран.
1) WriteLn('Content-type: text/html'); -
Content-type - это описание типа выводимых данных (в данном случае - текста HTML)
2) WriteLn; -
Вывод пустой строки ОБЯЗАТЕЛЕН, для того, чтобы отделить "заголовок"
документа от выводимого далее содержимого этого документа.
3) WriteLn('Всем привет !'); -
Здесь выводится собственно тело документа, т.е. то, что мы
увидим, если нажмем в браузере "Файл - Просмотр в виде HTML"
Для обращения к программе в строке адреса в браузере
необходимо набрать:
http://ваш_сервер/cgi-bin/ExampleCGI
Использование Writeln:
Все, что выводится командой WRITELN, направляется в "устройство стандартного
вывода" STDOUT и отправляется сервером в браузер пользователя.
Интересно, что под Windows можно написать CGI-программу даже с помощью .BAT-файла!
@ECHO OFF
ECHO content-type: text/html
ECHO.
ECHO ^<HTML^>^<HEAD^>^<TITLE^>^</TITLE^>^</HEAD^>^<BODY^>
ECHO Всем привет !
ECHO ^</BODY^>^</HTML^>
Обратите внимание, что специальные символы, используемые в DOS
(такие, как "<", ">", "&",...), необходимо предварять знаком "^".
Не забывайте об этом при написании CGI с .BAT файлами...