DELPHI FAQ: Программирование CGI в Delphi и Kylix (статья)


Программирование CGI в Delphi и Kylix (статья)
Previous  Home  Next


Автор: Paul TOTH
Перевод с французского: Valery Votintsev

Взято с Исходников.ru http://www.sources.ru


Содержание:
·Введение  
·Передача параметров  
·Переадресация  
·Вывод изображений  
·Защита паролем  
·Куки (Cookies)  
·Работа с Базами Данных  
·Частые Вопросы и Ответы  

Введение
В настоящем руководстве объясняется, как программировать 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 браузера) вы помещаете ссылку на вашу программу. Вот несколько примеров ссылок:  
Простая ссылка:    <a href="/cgi-bin/
program.exe">   
Запрос вывода изображения:    
<img src="/cgi-bin/program.exe">   
Форма с запросом типа GET:    
<form method=GET action="/cgi-bin/program.exe"> ... </form>   
Форма с запросом типа POST:    
<form method=POST action="/cgi-bin/program.exe"> ... </form>   
Прямое обращение по URL:    
http://www.tonserver.fr/cgi-bin/program.exe   
Что такое cgi-bin: 
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-программу локально, выводя результат работу на экран.  
 
Пример простейшей 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 файлами...  
 





DELPHI FAQ




EOMY TOP 100      Рейтинг@Mail.ru      Rambler's Top100