| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > не могу разобраться как работать с C++ как CGI |
| Автор: WhiteSpirit 1.2.2006, 12:35 | ||
| Откомпилировал следующий код: в апаче на сервере провайдера задал .exe
В итоге в лог ошибок выводится следующее: Premature end of script headers: ...cgi/testcgi.exe Объясните плиз что я делаю не так? |
| Автор: svetsmirnova 1.2.2006, 12:58 |
| Откомпилировала этот код: всё работает. Нужно посмотреть заголовки, которые сервер реально отдаёт браузеру. Сделать это можно, например, при помощи плугина Live HTTP headers к FF. Берут его отсюда: http://livehttpheaders.mozdev.org/ |
| Автор: _hunter 1.2.2006, 12:58 |
| ты не в тот раздел запостил -- нужно куда-нить в администрирование/веб-приложения... а ошибка потому, что апач считает твой .exe-шник текстовым скриптом |
| Автор: chaos 1.2.2006, 13:28 |
| я надеюсь Apache то хоть стоит на винде? |
| Автор: azesmcar 1.2.2006, 13:55 | ||||
| WhiteSpirit с printf -ами у тебя все в порядке..подозреваю что void main() надо заменить на int main() попробуй так
Добавлено @ 13:57
|
| Автор: WhiteSpirit 1.2.2006, 13:58 |
| Апачь на юниксе и HTTP/1.0 200 Ok\r\nContent-Type: test/html\r\n\r\n тоже не помогает |
| Автор: azesmcar 1.2.2006, 13:59 | ||
| да, и не забудь скопировать cgi файл в $APACH_ROOT/cgi-bin а не в $APACH_ROOT/httpdocs Добавлено @ 14:00
ну и как ты думаешь твой apach под юникс будет запускать exe приложения? |
| Автор: svetsmirnova 1.2.2006, 14:02 |
| >у и как ты думаешь твой apach под юникс будет запускать exe приложения? А ему не пофигу какое расширение у скрипта? WhiteSpirit Заголовки посмотрел? Компилируешь на той же машине, что и Апач? И _hunter, похоже, совершенно прав. |
| Автор: azesmcar 1.2.2006, 14:06 | ||
что значит расширение? ему то пофигу, но вот системе не пофигу...дело не в расширении, а в том что exe компилировался под винду, а запускается под юникс...как ты себе это представляешь? Добавлено @ 14:07 если на миг забыть о существовании wine |
| Автор: WhiteSpirit 1.2.2006, 14:08 |
| Заголовки ещё не посмотрел. Скачал щас посмотрю. Компилировал у себя на винде. А тестирую на сервере хостинг-провайдера там юникс |
| Автор: azesmcar 1.2.2006, 14:11 | ||
ну о чем речь, в том то и дело...компилируй под юникс.. Добавлено @ 14:12 кстати для компиляции под юникс все же убери void main() и поставь int |
| Автор: WhiteSpirit 1.2.2006, 14:22 |
| Дело осталось за малым:-) Поставить Юникс:-) |
| Автор: azesmcar 1.2.2006, 14:31 |
| ну качай отсюда http://80.86.232.128/cgi_script я его откомпилировал... |
| Автор: _hunter 1.2.2006, 14:32 |
| достаточно и линукса. кстати ( на основе личного опыта ) могу посоветовать бросить это дело -- слишком много банальных вещей придется делать руками. если уж решил занятся web-программированием -- смотри лучше в сторону perl/php/asp(.net) |
| Автор: WhiteSpirit 1.2.2006, 14:35 |
| _hunter Так на пхп немного пишу просто заинтересовала возможность всё это на с/с++ делать (Уж больно они мне нравятся) Ладно наверное придётся оставить эту затею. Ставить новую операционку ради этого...:-) не привлекает перспектива |
| Автор: azesmcar 1.2.2006, 14:39 | ||
не скажи, мне лично больше CGI нравится...можно с самого начала написать свою библиотеку для работы и в дальнейшем писать с ее помощью...зато не OpenSource...и возможностей побольше на системном уровне чем у PHP.. но это спорный вопрос... |
| Автор: svetsmirnova 2.2.2006, 22:03 |
| >Ставить новую операционку ради этого...:-) не привлекает перспектива Зачем? На хостинге и собирай. azesmcar Вы оказались провидцем >можно с самого начала написать свою библиотеку для работы и в дальнейшем писать с ее помощью...зато не OpenSource...и возможностей побольше на системном уровне чем у PHP.. В сотый раз писать разборщики запросов, кук и прочего? Ой. |
| Автор: WhiteSpirit 2.2.2006, 23:19 |
| svetsmirnova Это как так??? |
| Автор: svetsmirnova 3.2.2006, 00:06 |
| WhiteSpirit Если собрался писать сайты на С, выбирай хостинг с предустановленным gcc, грузи туда исходники (в директорию выше www-пространства) и собирай. Таких хостингов много, в том числе и дешёвых. |
| Автор: Empirik 3.2.2006, 10:25 | ||
Можешь перечислить именно какие банальные вещи придеться делать? Я пока знаю только одну - это разбор строки запроса к серверу. Перечисли их как можно больше. |
| Автор: _hunter 3.2.2006, 12:14 |
| разбор POST-запроса, передающего файл, контроль сесий. а, вообще, такие вопросы лучше в тематические разделы задавать -- там много чего вспомнят... |
| Автор: Empirik 7.2.2006, 09:04 | ||
Тогда встречный вопрос, в какой раздел, лучше всего отнести данную тему. Ведь нету раздела CGI програмирование yf C++ |
| Автор: azesmcar 7.2.2006, 09:58 | ||||||
Работа на 20 минут
еще пол дня Что дальше...работа с СУБД... несколько дней...
Не xочешь писать скачай из интернета...там полно готовыx решений... Добавлено @ 10:01 А вообще Empirik прав...может стоит создать раздел CGI программирование? и там подразделы C++, Perl, ... П.С. Я для себя библиотеку написал...надо еще кое что добавить...Закончу думаю стоит выставить spec на всеобщее обозрение...на оценку... |
| Автор: Empirik 7.2.2006, 11:10 | ||||||||
Если можешь, то дай пожалуйста кусок кода, который обрабатывает, приход файлов от клиента, а то строку запроса я научился разбирать, это довольно просто, но вот как обрабатывать файлы пришедшие от клиента я, пока, не знаю. За ранее большое спасибо |
| Автор: _hunter 7.2.2006, 11:25 |
| а зачем ее куда-то переносить? как тут уже писали -- разбор запроса -- работа на 20 минут. ( хотя я говорил о передаче файла а все остальные вопросы, которые у тебя появятся -- будут вопросы по твоей библиотеке ( о которой никто не знает и ( соответственно ) никто не сможет на них ответить ) а какие-то обще-теоретические вопросы ( хотя что это может быть?.. ) задавай в том же PERL' е: http://forum.vingrad.ru/index.php?showforum=183 насчет раздела... есть такой. Web-программирование называется... |
| Автор: azesmcar 7.2.2006, 11:26 | ||||||
Вот именно это и надо добавить На дняx посмотрю, будут мысли пришлю...если не ошибаюсь эти файлы сам сервер принимает...а тебе лишь надо выяснить куда он скопировал...путь к файлу должен передаваться через env... Добавлено @ 11:32
а разве я задавал вопросы по своей библиотеке? Где??? Не вижу я чего то Разумеется я не задам вопрос извините, вы не знаете какие параметры принимает функция которую я написал в прошлом году??? меня особенно второй параметр интересует...Я выражаю свое мнение насчет CGI...может я уподобюсь изобретателью велосипеда но все же...люблю все писать своими руками...к тому же учитываю тот факт что у меня аллергия на PHP...
особой разницы нет |
| Автор: Empirik 7.2.2006, 12:11 | ||
Програмирование cgi на c++ отличатся от програмирования на perl хотя бы API, поэтому тему по програмированию cgi на с++ мне кажется нужно вынести в отдельный топик. Ведь ты не будешь спорить, что с++ и perl это две разные вещи. |
| Автор: _hunter 7.2.2006, 12:58 |
| рограммирование CGI на C/C++ ничем не отличаетсяот программирования на Perl. отличается системное программирование ( потому как вызовы идут к *nix' ам ) но для этого уже есть разделы. пожтому такой раздел не нужен |
| Автор: azesmcar 7.2.2006, 13:57 | ||
С этим в принципе согласен...без разницы на чем писать именно CGI-script на С++ или на Perl... Но общие теоретические понятия обсуждать в разделе Web программирования не очень то удачно на мой взгляд так как в разделе Web программирования нет раздела CGI (если не ошибаюсь)...А к примеру вопрос который связан именно с CGI программированием, а не с системными вызовами и тому подобному (к примеру та же отправка файла) под каким разделом должны обсуждаться??? Не в PHP же? И мало web программистов имеют понятие о том как работает тот же PHP откуда берет отправленные параметры, как реализованы сессии и тому подобное...потому думаю не с подразделами С++, Перл и.т.д. но просто раздел Cgi нужно открыть..а вообще это уже перешло во флэйм...тема больше подxодит к разделу обсуждение форума... |
| Автор: WhiteSpirit 7.2.2006, 19:20 |
| Кстати я тоже за то чтобы создать отдельный раздел под с++ cgi (либо здесь либо вweb программировании cgi), я думаю многим будет интересно, я бы вот не прочь поочиться, поскоку я в этом совершенно ничего не понимаю. У azesmcar'a есть уже статейки. Вобщем я думаю дело пойдёт, а тему на самом деле надо переносить в обсуждение форума и там дальше её обсудить. |
| Автор: Empirik 8.2.2006, 11:02 |
| Уважаемые форумчане мы так и не ответили на один важный вопрос: как же всетаки обрабатывать multipart данные пришедшие от формы |
| Автор: Empirik 9.2.2006, 21:14 | ||
В общем если кому то еще интересно, то вот пример
Все данные поланные при POST запросе перенаправлюятся во входной поток программы. PS. У меня Apache 2 под виндой, этот кад не работает, не выдает тест файлов. Этот же код откомпелированный под SUSE Linux 10 работает на ура. |
| Автор: Basil777 24.2.2006, 23:06 |
| А как второй файл обрабатывается? |
| Автор: Voronin_Igor 7.11.2009, 23:21 |
| Сам начал писать CGI на С++ не так все и сложно, вот только материалу по этой теме очень мало что касается работы со строками то стандартный с++ а вот с передачей файлов изображений то пока для меня это проблема которую решаю. да также как украинский и русский или С++ и Java мне кажется если бы был бы топик CGI c разделами C++ и Perl было бы удобней, но это моё личное мнение. |