Форум: "Сети";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
ВнизПроблемы с CGI-приложениями Найти похожие ветки
← →
SergProger © (2006-05-01 13:00) [0]Всем привет! Люди, объясните мне пожалуйста, как писать CGI-приложения. Пробовал написать такое:
program CGI_test;
{$APPTYPE CONSOLE}
{$E CGI}
begin
WriteLn("<HTML>");
WriteLn("<HEAD>");
WriteLn("<TITLE>Простейшее CGI приложение</TITLE>");
WriteLn("<META http-equiv="Content-Type" content="text/html; charset=windows-1251">");
WriteLn("</HEAD>");
WriteLn("<BODY>");
WrОтiteLn("<CENTER><H1>HELLO WORLD</H1></CENTER>");
WriteLn("</BODY>");
WriteLn("</HTML>");
end.
Компилируется нормально, но на сервере запускаться оно не хочет. Объясните мне, в чём проблема?
← →
alex-drob © (2006-05-01 13:21) [1]На сервере поддержка cgi есть?
Файл находиться в каталоге cgi-bin?
Что происходит при запуске файла на сервере?
← →
SergProger © (2006-05-01 13:33) [2]Сервер поддерживает CGI, файл находится в нужном каталоге, при запуске пишет: "CGI script error".
← →
Anatoly Podgoretsky © (2006-05-01 13:34) [3]Серверу можно верить.
← →
SergProger © (2006-05-01 13:43) [4]Сервер www.yard.ru Та же проблема на сервере www.holm.ru
← →
TUser © (2006-05-01 14:16) [5]А http заголовки не надо писать?
Кроме того, - на сервере тебе разрешено запускать виндоусовские программы в качестве cgi?
← →
Sergey Masloff (2006-05-01 14:20) [6]TUser © (01.05.06 14:16) [5]
>на сервере тебе разрешено запускать виндоусовские программы в >качестве cgi?
Вот я тоже удивился
Кстати заголовки можно не писать если сервер под виндой все будет работать
← →
DrPass © (2006-05-01 14:31) [7]Попробуй вместо writeln попользовать GetStdHandle(STD_HANDLE_OUTPUT) и соответственно WriteFile. Как показывает практика, writeln НЕ ПИШЕТ в стандартный поток вывода, а выводит сразу на консоль.
← →
Sergey Masloff (2006-05-01 14:44) [8]DrPass © (01.05.06 14:31) [7]
Пишет-пишет.
Кстати вышеприведенный код работает
← →
DrPass © (2006-05-01 16:30) [9]
> Sergey Masloff (01.05.06 14:44) [8]
Спорить не буду, но когда у меня возникла необходимость перехватить вывод консольного приложения, программа напрочь отказалась принимать консольку с writeln. А WriteFile - на ура
← →
SergProger © (2006-05-01 23:05) [10]Вот если бы кто-нибудь мне объяснил, как пользоваться процедурой WriteFile...
← →
DrPass © (2006-05-02 00:19) [11]А что там сложного?
uses
windows;
var
h: THandle;
cnt: cardinal;
begin
h:= GetStdHandle(STD_OUTPUT_HANDLE);
WriteFile(h, "<HTML>", 6, cnt, nil);
WriteFile(h, "<HEAD>", 6, cnt, nil);
WriteFile(h, "<TITLE>Простейшее CGI приложение</TITLE>",
length("<TITLE>Простейшее CGI приложение</TITLE>"), cnt, nil);
end.
← →
SergProger © (2006-05-03 13:09) [12]OK, спасибо, понял. Дело в том, что с WriteFile я впервые сталкиваюсь... :-)
← →
SergProger © (2006-06-01 01:39) [13]Но всё-таки, даже с процедурой WriteFile приложение не хочет работать. Кроме того, я выяснил, что сервер работает под Unix. Зацените работу, если хотите >>> http://sergproger.h16.ru
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.035 c