| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Передача данных скрипту CGI из приложения на C++ |
| Автор: Гость_Hawk 11.10.2004, 21:03 |
| Народ, как из приложения, созданного в C++ Builder передать данные CGI скрипту? Какие компоненты и как для этого можно использовать? |
| Автор: _hunter 12.10.2004, 10:20 |
| вообще-то это зависит от того, что скрипт хочет получить компонент TIdHTTP методы Get() / Post() |
| Автор: Гость_Hawk 12.10.2004, 14:33 |
| Ну например, надо сделать программу с помощью которой можно добавлять запись в гостевую книгу (в качестве примера.) Страничка с формой добавления на HTML выглядит так: < form action="http://www.my-site.ru/cgi-sys/guestbook.cgi" target=guestwindow > < input type="text" name="user" value="uraniac" > < input type="hidden" name="action" value="addguest" > < input type="hidden" name="template" value="default" > Имя: <input type="text" name="name" class="pole" size="28" > Email: <input type="text" name="email" class="pole" size="28" > Сайт: <input type="text" name="url" class="pole" size="28" > Комментарий: < textarea name="comments" cols="40" rows="5" class="area" > < /textarea > < input type="submit" value="Отправить" class="button" > < /form > Как это реализовать на Билдере? Чтобы пользователь вводил инфу в мемо и эдиты, потом нажал на кнопку и сообщение добавилось? |
| Автор: _hunter 13.10.2004, 10:39 |
| самую интересную часть ты так и не привел ( а именно метод ) поэтому: 1. метод get тут все просто создаем строку запроса вида http://www.my-site.ru/cgi-sys/guestbook.cgi?user=...&action=...&template=...... и выполняем функцию Get() 2. метод post тут все еще проще береш что-нить типа TStrings ( например TStringList ) и заполняеш его строками вида user=... action=... template=... ... и выполняеш функцию Post() на адрес http://www.my-site.ru/cgi-sys/guestbook.cgi все |
| Автор: Гость_hawk 16.10.2004, 14:04 |
| Спасибо _hunter.. а метод post ... А вообще не подскажешь, где по этому делу есть материал в инете и желательно на русском? |
| Автор: _hunter 16.10.2004, 14:13 |
| незачто не подскажу ( с Indy я по ихнемк Help' y разбирался, а GET / POST -- RFC ) |
| Автор: oi 23.9.2005, 01:10 |
| Последний ответ был давно, но я всё равно спрошу. У меня проблема с запросом Get, как в WMHTTP так и Indy. запрос примерно такой get('ccc.cgi','tratata'); Проблема в том, что скрипт ссс.cgi используется со срипта с.cgi и только принимает значения, то есть после выполнения ccc.cgi происходит редирект на скрипт c.cgi . Мне кажется моя проблемма в этом : Делфи выкидывает ошибку вроде 10053 (что-то с сокетом) после 1 или 2 запроса, при этом данные скрипт таки получает. Но из-за етой ошибки я не могу использовать запрос Get в цикле. Может для скриптов, которые редиректят нада как-то особо юзать запрос Get? Подскажите плз. Спасибо. |
| Автор: oi 23.9.2005, 01:14 |
| сорри там пример запроса я неправильно написал, у меня так Get ('ccc.cgi?tratata'); Вопрос остаётся в силе |
| Автор: _hunter 23.9.2005, 10:23 |
| во-первых у TIdHTTP есть HandleRedirects ( если поставить в true он будет автоматом переходить по redirect-ам во-вторых индейцы не любят переконнектов => если нужно слать несколько запросов -- лучше для каждого создавать свой экземпляр TIdHTTP. |
| Автор: gfdre@hotmail.com 10.10.2006, 14:21 |
| Very interesting website. Keep up the outstanding work and thank you... |