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

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

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

Студворк — интернет-сервис помощи студентам
Господа помогите с cgi.
Никогда этого не делал под VB, а сейчас очень надо. Как получить данные из html формы и отослать данные клиенту в html формате.
Как это сделать на asp я знаю, так как этой работой занимаюсь.
Спасибо кто откликнется.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.07.2009, 19:30
Ответы с готовыми решениями:

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

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

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

7
 Аватар для palva
4270 / 2965 / 690
Регистрация: 08.06.2007
Сообщений: 9,896
Записей в блоге: 4
19.07.2009, 23:13
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q239588
0
0 / 0 / 0
Регистрация: 07.06.2009
Сообщений: 50
20.07.2009, 10:41  [ТС]
Спасибо за ссылку. Я так подозреваю, что там все правильно написано, но беда в том, что мой инглиш не на том уровне.
Хотелось бы поподробнее - какие модули подключать при разработке и компиляции CGI в редакторе VB и что нужно уснановить на IIS, чтобы CGI на VB работало без проблемм т.д.
0
 Аватар для palva
4270 / 2965 / 690
Регистрация: 08.06.2007
Сообщений: 9,896
Записей в блоге: 4
20.07.2009, 11:47
Никаких модулей подключать не надо. Переменные окружения читаете с помощью 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  [ТС]
а такая конструкция работает?
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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  [ТС]
Спасибо за ссылку
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q239588

Хотя там не все понятно, но я сделал так как там написано все получилось, но к сожалению мне это пока мало помогло, так как мне хотелось бы, чтобы в ответ клиенту можно было выдавать динамические страницы HTML - т.е чтобы была шапка
Code
1
2
3
4
5
<html><head></head>
<body>
....
....
</body></html>
Вы не могли бы дать немного информации о функциях которые там используются -
Code
1
 stdin, stdout, ReadFile, WriteFile
А то после asp где все предельно понятно - здесь много специфики
0
 Аватар для palva
4270 / 2965 / 690
Регистрация: 08.06.2007
Сообщений: 9,896
Записей в блоге: 4
20.07.2009, 17:53
У меня всё это работало только пришлось

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

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

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

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

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

1. хандл файла - у нас это хандл стандартного ввода или вывода
2. буфер ввода или вывода
3. длина буфера предназначенная для ввода или вывода (байты)
4. длина, которая была введена или выведена в реальности
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.07.2009, 18:04
Помогаю со студенческими работами здесь

Как отослать на сервер данные формы и получить ответ?
Пытаюсь отослать на сервер данные и получить ответ: HttpWebRequest req = (HttpWebRequest)WebRequest.Create(full_uri);//full_uri - адрес...

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

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

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

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


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

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

Новые блоги и статьи
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
PowerShell и онлайн сервисы. Валюта (floatrates.com руб.)
iNNOKENTIY21 11.11.2025
PowerShell функция floatrates-rub Примеры вызова: # Указанная валюта 'EUR' floatrates-rub -Code 'EUR' # Список имеющихся кодов валют floatrates-rub -Available function floatrates-rub {
PowerShell и онлайн сервисы. Погода (RP5.ru)
iNNOKENTIY21 11.11.2025
PowerShell функция Get-WeatherRP5rss для получения погоды с сервиса RP5 Примеры вызова Get-WeatherRP5rss с указанием id 5484 — Москва (восток, Измайлово) и переносом строки:. . .
PowerShell и онлайн сервисы. Погода (wttr)
iNNOKENTIY21 11.11.2025
PowerShell Функция для получения погоды с сервиса wttr Примеры вызова: Погода в городе Омск с прогнозом на день, можно изменить прогноз на более дней, для этого надо поменять запрос:. . .
PowerShell и онлайн сервисы. Валюта (ЦБР)
iNNOKENTIY21 11.11.2025
# Получение курса валют function cbr (] $Valutes = @('USD', 'EUR', 'CNY')) { $url = 'https:/ / www. cbr-xml-daily. ru/ daily_json. js' $data = Invoke-RestMethod -Uri $url $esc = 27 . . .
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца: Хочу еще Симбу взять, очень нравится. . .
Инференс ML моделей в Java: TensorFlow, DL4J и DJL
Javaican 05.11.2025
Python захватил мир машинного обучения - это факт. Но когда дело доходит до продакшена, ситуация не так однозначна. Помню проект в крупном банке три года назад: команда data science натренировала. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru