| Программирование CGI в Delphi и Kylix (статья) | Previous Home Next |
| · | Введение |
| · | Передача параметров |
| · | Переадресация |
| · | Вывод изображений |
| · | Защита паролем |
| · | Куки (Cookies) |
| · | Работа с Базами Данных |
| · | Частые Вопросы и Ответы |
| Для работы с CGI вам потребуется Web-сервер (для Delphi - под Windows, а для Kylix - под Linux)... |
| Автор тестировал свои программы на сервере Lotus Domino под NT, и на сервере Apache под Mandrake 7.0 (linux). |
| Автор использовал Delphi 2.0, однако это руководство применимо и для Delphi 3,4,5, 6... и Kylix ! |
| Ссылки на CGI-программу: |
| На HTML-странице (или непосредственно в строке URL браузера) вы помещаете ссылку на вашу программу. Вот несколько примеров ссылок: |
| Что такое cgi-bin: |
| cgi-bin - это псевдоним каталога на сервере, который указывает на реальный каталог, в котором размещены все CGI программы. |
| Например: |
| Запуск CGI-программ: |
| Когда пользователь кликает на ссылке, указывающей на CGI-программу, сервер запускает данную программу и ожидает от нее ответа. |
| Ответ CGI-программы: |
| Самым простым вариантом CGI программы может служить консольное приложение {$apptype console}, которое похоже на DOS-программу, однако работает под Windows 95/NT, или под Linux. |
| Эта возможность позволяет тестировать CGI-программу локально, выводя результат работу на экран. |
| |
| Пример простейшей CGI-программы: |
| |
| Program ExampleCGI; |
| |
| {$apptype console} |
| |
| begin |
| WriteLn('Content-type: text/html'); |
| WriteLn; |
| WriteLn('Всем привет !'); |
| end. |
| |
| Разберем строки, выводимые программой: |
| |
| 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 файлами... |
| |