2010-10-31 5 views
0

как получить форму ввода (POST) со следующими условиями?

1. Не трудно код длиной содержания
2. Функция с обеспеченными парами, который является именем элементы формы, наконец, возвращает строку

я не могу найти ни одного примера в интернете ~c cgi как получить форму

спасибо

+2

Um, на стороне сервера C? Я могу думать о gazillion вещах, которые менее болезненны ... – delnan

+0

Если вы изучаете C, это плохое упражнение для вас - это сложный код для написания. Есть много вещей, чтобы рассмотреть; получить все правильные данные - это кошмар (очень сложно). –

ответ

1

CGI-скрипт, написанный на C, считывает данные POST от stdin. Длина содержимого записывается HTTP-сервером в переменной среды CONTENT_LENGTH, и скрипт может использовать getenv, чтобы прочитать его.

Если вы не выполняете домашнее задание, есть много простых способов сделать CGI-скриптинг в эти дни (python, php и т. Д.).

Ссылка: The Common Gateway Interface (CGI) Version 1.1

0

В дополнение к тому, что diciu пишет:

Вы также должны взять на себя Content-Type во внимание, что может быть либо application/x-www-form-urlencoded или multipart/form-data.

0

Да, я студент, обучение с ~ не есть идея

недействительные getInput2() {

char *input; 
int len; 

len = atoi(getenv("CONTENT_LENGTH")); 

fgets(input, len+1, stdin); 
printf("%s", input[1]); //error 

}

+0

Вы должны выделить память для своей входной переменной, чтобы fgets мог записывать в нее материал. Вы также должны ВСЕГДА проверять результаты функций, которые вы вызываете (getenv, fgets). И, наконец, я думаю, что это плохая форма, чтобы ответить на ваш вопрос другим вопросом. При необходимости вы можете отредактировать исходный вопрос и добавить дополнительные данные. – diciu

+4

Не оставляйте комментарии или поправки к вашему вопросу как «ответ». Вы можете отредактировать свой собственный вопрос и опубликовать комментарии. –

Смежные вопросы