}
// Обработка метода GET
else if(!strcmp(szMethod, "GET"))
{
// Получаем данные, полученные от формы.
// При использовании метода GET эти данные
// передаются в переменной среды QUERY_STRING
szQueryString = getenv("QUERY_STRING");
// Записываем эти данные в выходной файл
fileReceived = fopen("received.dat", "w");
fwrite(szQueryString, strlen(szQueryString) + 1,
1, fileReceived);
fclose(fileReceived);
// Выводим в динамически формируемый документ HTML
// значения некоторых переменных среды
printf("<H2>Переменные среды</H2>");
// Метод передачи данных
printf("REQUEST_METHOD = %s", getenv("REQUEST_METHOD"));
// Полученные данные
printf("<BR>QUERY_STRING = %s", szQueryString);
// Копируем принятые данные в буфер szSrcBuf
strcpy(szSrcBuf, szQueryString);
// Отображаем принятые данные
printf("<H2>Принятые данные</H2>");
printf("<P>%s", szSrcBuf);
// Перекодируем данные и отображаем результат
// перекодировки
DecodeStr(szSrcBuf);
printf("<H2>Данные после перекодировки</H2>");
printf("<P>%s", szSrcBuf);
// Выводим в документ список значений полей формы
strcpy(szBuf, szQueryString);
printf("<H2>Список значений полей</H2>");
szBuf[strlen(szBuf)] = '&';
szBuf[strlen(szBuf) + 1] = '\0';
for(szParam = szBuf;;)
{
szPtr = strchr(szParam, '&');
if(szPtr != NULL)
{
*szPtr = '\0';
DecodeStr(szParam);
printf("%s<BR>", szParam);
szParam = szPtr + 1;
if(szParam >= (szBuf + lSize))
break;
}
else
break;
}