Разработка CGI в Delphi

Комментарии

19 комментария(ев)
аватар: Va-Bank
Va-Bank
Дата: ПТ, 12/11/2010 - 18:33
Звание: Гуру
Сообщений: 8223

Я как-то пробовал делать CGI приложение "Hello, World!", но вместо того чтобы загрузиться, мой браузер просто пытался скачать ЕХЕ файл. Причем это было во всех браузерах и я удачно забил на это дело.

аватар: Shirson
Shirson
Дата: ЧТ, 24/03/2011 - 06:57
Звание: Наблюдатель
Сообщений: 23

Цитировать

Я как-то пробовал делать CGI приложение "Hello, World!", но вместо того чтобы загрузиться, мой браузер просто пытался скачать ЕХЕ файл. Причем это было во всех браузерах и я удачно забил на это дело.

А ты его переименуй в .cgi, например Smile
C CGI пробема есть, концептуальная, так сказать - для каждого запроса сервер создаёт отдельный экземпляр этого самого CGI. Если cgi-шки небольшие и подключений с десяток - вполне приемлемо, а вот для сколько-нибудь массовых коннекций сервер будет захлёбываться на раз-два.

аватар: angryvitum
angryvitum
Дата: ПТ, 12/11/2010 - 18:42
Звание: Посвященный
Сообщений: 552

Хорошая статья! Но все же, IMHO, Delphi не встраивается в список языков, удобных для Web-разработки, эту нишу заняли скриптовые языки: JS, PHP... Хотя на семинаре, прошедшем в Новосибирске 9 ноября, Всеволод Леонов (менеджер по продуктам Embarcadero Russia) уверял, что сообщество разработчиков CGI-приложений на Delphi велико. Может кто знает, поделится ссылкой на реально работающий пример?

аватар: AltaVista
AltaVista
Дата: ПТ, 12/11/2010 - 18:56
Звание: Мастер
Сообщений: 1812

Ооо! Интересная статья. Мой самый первый cgi скрипт был написан именно на Delphi. Много чего я понаделал тогда.. эх.. были времена.

аватар: Kewa2008
Kewa2008
Дата: ПТ, 12/11/2010 - 19:15
Звание: Мастер
Сообщений: 1017

Цитировать

Но все же, IMHO, Delphi не встраивается в список языков, удобных для Web-разработки, эту нишу заняли скриптовые языки: JS, PHP..

Я сейчас готовлю статью по программированию на Delphi с использованием технологии ActiveX, думаю там будет по интереснее
Цитировать
Может кто знает, поделится ссылкой на реально работающий пример?

Статью обновил, в конце есть ссылка на эти примеры, там же и статья в *.doc

аватар: Kewa2008
Kewa2008
Дата: ПТ, 12/11/2010 - 19:17
Звание: Мастер
Сообщений: 1017

Цитировать

но вместо того чтобы загрузиться, мой браузер просто пытался скачать ЕХЕ файл.

Именно с такой же проблеммой я столкнулся в самом начале, а после мальца поковырял сервак и все заработало Laughing out loud

аватар: Belketre
Belketre
Дата: ПТ, 12/11/2010 - 23:12
Звание: Мастер
Сообщений: 1889

Чтобы браузер не предлагал скачать файл вместо запуска надо разрешить выполнение .exe файлов в настройках сервера

аватар: Lord_of_fear
Lord_of_fear
Дата: СБ, 13/11/2010 - 16:53
Звание: Мастер
Сообщений: 2213

Хороший мануал. Надо будет его в журнал включить =) В ноябрьский Smile

аватар: Darth_Vaider
Darth_Vaider
Дата: ЧТ, 02/12/2010 - 05:01
Звание: Посвященный
Сообщений: 503

А что означает ошибка 500 при запуске CGI?

аватар: Va-Bank
Va-Bank
Дата: ЧТ, 02/12/2010 - 05:07
Звание: Гуру
Сообщений: 8223

Цитировать

А что означает ошибка 500 при запуске CGI?

Ошибка 500 "Internal Server Error". Говорят надо выставить права не только на папки но и на все файлы.

Цитировать

Для скриптов необходимо 755, это означает, что владелец имеет права на чтение, запись и выполнение скрипта, а его группа и остальные пользователи только на чтение, и выполнение.

]]>Вот тут нашел.]]>

аватар: Kewa2008
Kewa2008
Дата: ЧТ, 02/12/2010 - 15:23
Звание: Мастер
Сообщений: 1017

Darth_Vaider, помощь Va-Bank'а помогла? ты отпишись, чтоыбы если что, я мог дополнить статью Smile

аватар: Darth_Vaider
Darth_Vaider
Дата: ЧТ, 02/12/2010 - 19:11
Звание: Посвященный
Сообщений: 503

Пытался устанавливать права как 750, так и 755. Но всё равно эта ошибка выходит. Исполняемый файл: сначала попытался использовать ваш, потом написал то же самое на Visual C++. А что означает двойной конец строки?

аватар: Kewa2008
Kewa2008
Дата: ЧТ, 02/12/2010 - 21:10
Звание: Мастер
Сообщений: 1017

Давай по порядку.
Какой у тебя сервер? IIS как у меня?
Мои исходники работают?
Проблема при разработке "Здавствуй мир" или при работе с формой?

Если можешь скрин-шоты в студию

аватар: Darth_Vaider
Darth_Vaider
Дата: ПТ, 03/12/2010 - 22:24
Звание: Посвященный
Сообщений: 503

1. ]]>Думаю, отсюда всё будет понятно]]>
2. Нет.
3. Проблема и с "Здравствуй, мир", и с формой.
Скриншот:

аватар: Kewa2008
Kewa2008
Дата: ПТ, 03/12/2010 - 23:37
Звание: Мастер
Сообщений: 1017

Я так понимаю ты пользуешь именно этим бесплатным хостингом.
Если да, то п. 10 гласит
Цитировать

Ошибка 500 "Internal Server Error" возникает в случае внутренней ошибки. Проверьте:

Установлены ли права на дирректорию CGI-BIN, файлы скриптов и данных в которые пишут Ваши скрипты - 750
Т.е. - владельцу - read,write,exec
Группе - read, exec
Прочим - none

Заканчиваете ли вы хедеры пустой строкой?
Нельзя написать print "Content-Type: text/html\n";
Надо писать: print "Content-Type: text/html\n\n";

Также, эта ошибка возникает, если CGI-программа завершилась с ненулевым кодом возврата, что часто встречается в случае некомпилируемости вашего скрипта perl'ом.

Может проблема в этом? В методичке приведен пример работы на локальном ПК. Попробуй запустить скрипт на локальном ПК как рассказывается в методичке.
Когда появится время и если вопрос будет актуален, попробую сделать все оже самое, но при помощи указанного хостинга.

аватар: Darth_Vaider
Darth_Vaider
Дата: СБ, 04/12/2010 - 21:49
Звание: Посвященный
Сообщений: 503

То, что указано в инструкции я уже всё перепроверил, единственное, что мне непонятно:
CGI скрипты загружайте на сервер ОБЯЗАТЕЛЬНО в ASC режиме.
Что же это? Я загружал через ftp.
А при запуске на локальном пытается скачать исполняемый файл.

аватар: Darth_Vaider
Darth_Vaider
Дата: СБ, 18/12/2010 - 22:10
Звание: Посвященный
Сообщений: 503

Связался со службой поддержки. Они ответили мне следующее:
Цитировать

На бесплатном хостинге используется операционная система FreeBSD. Поэтому Ваши
программы на c++ должны быть написаны под FreeBSD и скомпилированы под туже
версию ОС(для большей совместимости), что установлена на сервере.
Delphi программы работать не будут.

Они должны быть в исходниках?
В общем, попытаюсь сделать по их указаниям.

аватар: Va-Bank
Va-Bank
Дата: Пнд, 20/12/2010 - 03:44
Звание: Гуру
Сообщений: 8223

Цитировать

Delphi программы работать не будут.

А Lazarus ?

аватар: Kewa2008
Kewa2008
Дата: ЧТ, 24/03/2011 - 16:30
Звание: Мастер
Сообщений: 1017

Во всем есть свои плюсы и минусы =)