Не получается в простенькой cgi программе забрать переменную окружения(getenv("CONTENT_LENGTH")) и перевести ее в int
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char *argv[])
{
// Читаем переменные среды, установленные веб-сервером
char *query_string = getenv("QUERY_STRING");
char *request_method = getenv("REQUEST_METHOD");
char *post_data;
int post_length = 0; // Длина тела запроса
setvbuf(stdin,NULL,_IONBF,0);//Отключение буферизации
setvbuf(stdout,NULL,_IONBF,0);
if(strcmp(request_method, "POST"))
{ // Если получен POST-запрос,
post_length = atoi(getenv("CONTENT_LENGTH"));
if(post_length!=0) // если она не нулевая,
{
post_data = (char*)malloc(post_length+1); // выделяем память для буфера,
fread(post_data, post_length, 1, stdin); // читаем со стандартного ввода тело запроса,
post_data[post_length] = '\0'; // завершаем строку нулевым байтом.
}
}
// Выводим заголовок ответа...
printf("Content-type: text/html\r\n\r\n");
// и его тело:
printf("<h1>Здравствуйте!</h1>\r\n");
printf("<p>Параметры : %s\r\n", request_method);
//if (strlen(query_string)) {
printf("<p>Параметры GET-формы: %s\r\n", query_string);
// }
//if (post_length!=0) {
printf("<p>Параметры POST-формы: %s (длина тела запроса: %d CL: %s)\r\n", post_data, post_length,getenv("CONTENT_LENGTH"));
free(post_data); // не забываем освободить выделенную в строке 17 память
//}
return 0;
}
в строке post_length = atoi(getenv("CONTENT_LENGTH"));
post_length всегда равен 0.
HELP...
Ответ на:
комментарий
от Reset
Ответ на:
комментарий
от Reset
Ответ на:
комментарий
от mky
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Проблема с POST (2001)
- Форум [СИ] Как работать с off_t числами. (2011)
- Форум проблема с получением файла на эхо сервере (2016)
- Форум Быдлокод не быдлокод? (2014)
- Форум Вывести содержание бинарного файла (2013)
- Форум [pipe] ftp не хочет общатся через два пайпа (2009)
- Форум FUSE (2013)
- Форум не понимаю, как работает fgetln() :( (2005)
- Форум Пример программы UDP-сервера (2014)
- Форум Вопрос по библиотеке expat (2004)