0 / 0 / 0
Регистрация: 07.06.2009
Сообщений: 50
1

CGI. Как получить данные из html формы и отослать данные клиенту в html формате?

19.07.2009, 19:30. Показов 2277. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Господа помогите с cgi.
Никогда этого не делал под VB, а сейчас очень надо. Как получить данные из html формы и отослать данные клиенту в html формате.
Как это сделать на asp я знаю, так как этой работой занимаюсь.
Спасибо кто откликнется.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.07.2009, 19:30
Ответы с готовыми решениями:

Как передать CGI проге методом POST данные не из HTML-формы
Пожалуйста не подскажите? Как передать CGI проге методом POST данные не из HTML-формы, а например...

Как получить в приложении данные из html формы?
Доброго времени суток. Интересует следующий вопрос: Есть приложение на pyqt, в котором...

Как получить данные в asp-скрипт из html-формы?
как получить данные в asp-скрипт из html-формы ???

Как отослать на сервер данные формы и получить ответ?
Пытаюсь отослать на сервер данные и получить ответ: HttpWebRequest req =...

7
4249 / 2945 / 688
Регистрация: 08.06.2007
Сообщений: 9,846
Записей в блоге: 4
19.07.2009, 23:13 2
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q239588
0
0 / 0 / 0
Регистрация: 07.06.2009
Сообщений: 50
20.07.2009, 10:41  [ТС] 3
Спасибо за ссылку. Я так подозреваю, что там все правильно написано, но беда в том, что мой инглиш не на том уровне.
Хотелось бы поподробнее - какие модули подключать при разработке и компиляции CGI в редакторе VB и что нужно уснановить на IIS, чтобы CGI на VB работало без проблемм т.д.
0
4249 / 2945 / 688
Регистрация: 08.06.2007
Сообщений: 9,846
Записей в блоге: 4
20.07.2009, 11:47 4
Никаких модулей подключать не надо. Переменные окружения читаете с помощью Environ, определяете метод (REQUEST_METHOD). Eсли это GET, то берете запрос из QUERY_STRING. Если это POST, то длина запроса лежит в CONTENT_LENGTH, а запрос нужно читать из стандартного ввода. Запрос нужно вручную распарсить, выделить параметры и значения, раскодировать символы, если они были. (В примере это сделано не в полной мере). Ответ сервера кладете в стандартный вывод. Работа со стандартными вводом и выводом ведется функциями API. Программа консоль не создает, поэтому при автономном запуске ничего отображать не будет. Запускать ее можно только в среде вэб-сервера. Никакие дополнительные компоненты на сервере не требуются. Возможно вам как аспшнику не вполне знакомы правила CGI. Спросите на Яндексе 'Как написать CGI программу' - получите кучу ссылок. Вот одна из них http://pwd.boom.ru/cgi/index.htm
0
0 / 0 / 0
Регистрация: 07.06.2009
Сообщений: 50
20.07.2009, 16:27  [ТС] 5
а такая конструкция работает?
Код
Seek #CGI_OutputFN, 1    ' Rewind output file just in case
    Send ('HTTP/1.0 500 Internal Error')
    Send ('Server: ' + CGI_ServerSoftware)
    Send ('Date: ' + WebDate(Now))
    Send ('Content-type: text/html')
    Send ('')
    Send ('<HTML><HEAD>')
    Send ('<TITLE>Error in ' + CGI_ExecutablePath + '</TITLE>')
    Send ('</HEAD><BODY>')
    Send ('<H1>Error in ' + CGI_ExecutablePath + '</H1>')
    Send ('An internal Visual Basic error has occurred in ' + CGI_ExecutablePath + '.')
    Send ('<PRE>' + ErrorString + '</PRE>')
    Send ('<I>Please</I> note what you were doing when this problem occurred,')
    Send ('so we can identify and correct it. Write down the Web page you were using,')
    Send ('any data you may have entered into a form or search box, and')
    Send ('anything else that may help us duplicate the problem. Then contact the')
    Send ('administrator of this service: ')
    Send ('<A HREF=''mailto:' & CGI_ServerAdmin & '''>')
    Send ('<ADDRESS>&lt;' + CGI_ServerAdmin + '&gt;</ADDRESS>')
    Send ('</BODY></HTML>')

    Close #CGI_OutputFN
0
0 / 0 / 0
Регистрация: 07.06.2009
Сообщений: 50
20.07.2009, 17:28  [ТС] 6
Спасибо за ссылку
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q239588

Хотя там не все понятно, но я сделал так как там написано все получилось, но к сожалению мне это пока мало помогло, так как мне хотелось бы, чтобы в ответ клиенту можно было выдавать динамические страницы HTML - т.е чтобы была шапка
Код
<html><head></head>
<body>
....
....
</body></html>
Вы не могли бы дать немного информации о функциях которые там используются -
Код
 stdin, stdout, ReadFile, WriteFile
А то после asp где все предельно понятно - здесь много специфики
0
4249 / 2945 / 688
Регистрация: 08.06.2007
Сообщений: 9,846
Записей в блоге: 4
20.07.2009, 17:53 7
У меня всё это работало только пришлось

1. Присоединить специальный модуль CGI32.BAS отсюда http://dbs.asu.ru/BOOKS/CGI.Programming.Unleashed/ch14.htm в котором описана функция Send и прочее.

2. Установить специальный Web сервер (не помню как он назывался), на IIS такая CGI программа у меня не заработала.
0
4249 / 2945 / 688
Регистрация: 08.06.2007
Сообщений: 9,846
Записей в блоге: 4
20.07.2009, 18:04 8
(Предыдущий текст был ответом на более ранний вопрос.)

Это функции API Windows32, описание которых есть в MSDN и во многих местах в Интернете.

stdin и stdout - это функции получения хандла станадртного ввода и вывода.

ReadFile и WriteFile это функции чтения и записи файла. Параметры у них

1. хандл файла - у нас это хандл стандартного ввода или вывода
2. буфер ввода или вывода
3. длина буфера предназначенная для ввода или вывода (байты)
4. длина, которая была введена или выведена в реальности
0
20.07.2009, 18:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.07.2009, 18:04
Помогаю со студенческими работами здесь

Получить данные из html формы (список)
Подскажите пожалуйста, как это сделать. Не могу разобраться, как получить данные из списка. Пробую...

Данные с формы HTML получить в ASP.NET MVC
Подскажите (конкретные советы или просто хорошие статьи скиньте) как сделать следующее: есть файл...

Как с помощью CDONTS отослать с сайта почту в формате HTML?
Как с помощю CDONTS отослать с саита почту в формате HTML. Пробовал ставить...

Как получить данные из html
body&gt; &lt;p&gt;&lt;strong&gt;При выборе пункта &amp;quot;Возврат товаров от розничного покупателя&amp;quot; в панели...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru