Сетевые технологии. Баканов В.М. - 20 стр.

UptoLike

Составители: 

- 20 -
sBuff[lData]='\0'; // закрываем строку нулем
} // конец взятия данных методом GET
//
else // неизвестный метод...
{
fprintf(f, "Метод посылки данных НЕИЗВЕСТЕН”);
exit(-13);
}
//
// выводим принятую от броузера строку на динамически
// создаваемую HTML-страницу
fprintf(f, "<HTML><BODY>\n\n<u>Полученная от броузера строка (до перекоди-
ровки):</u> %s<BR><BR>", sBuff);
//
// fprintf(f, "<HTML><BODY>\n\n<u>Полученная от броузера строка (после переко-
дировки):</u> %s<BR><BR>", sBuff);
//
fprintf(f, "<u>Разбираем строку по полям формы (разделитель - символ
'&'):</u><P>");
//
// для унификации поиска полей формы дополняем sBuff справа символом '&'
sBuff[lData]='&';
sBuff[lData+1]='\0';
//
// в sBuff теперь находятся сочетания типа 'имя поля формы=значение поля&'
//
int iLeft=0; // номер начального символа подстроки в строке sBuff
//
for(int i=0; i<strlen(sBuff); i++) // цикл по строке sBuff
if(sBuff[i]=='&') // нашли очередной разделитель '&'
{
for(int k=0,j=iLeft; j<i; j++) // копируем очередную подстроку в sSubStr
sSubStr[k++]=sBuff[j];
sSubStr[i-iLeft]='\0'; // закрываем найденную подстроку нулем
DecodeStr(sSubStr); // раскодирование строки из URL-кода
iLeft=i+1; // устанавливаем начало следующей подстроки
//
fprintf(f, "<i>имя поля формы=значение поля:</i> %s<BR>", sSubStr);
} // конец IF(sBuff[]...
//
fprintf(f, "<BR><BR><HR>Конец динамически сгенерированной HTML-
страницы...");
fprintf(f, "\n\n</BODY></HTML>");
fclose(f);
//
} // конец функции MainFormCreate
//---------------------------------------------------------------------------
// Функция DecodeStr - раскодирование строки из кодировки URL
//
      sBuff[lData]='\0'; // закрываем строку нулем
     } // конец взятия данных методом GET
//
     else // неизвестный метод...
      {
       fprintf(f, "Метод посылки данных НЕИЗВЕСТЕН”);
       exit(-13);
      }
//
// выводим принятую от броузера строку на динамически
// создаваемую HTML-страницу
   fprintf(f, "\n\nПолученная от броузера строка (до перекоди-
                                                  ровки): %s

", sBuff); // // fprintf(f, "\n\nПолученная от броузера строка (после переко- дировки): %s

", sBuff); // fprintf(f, "Разбираем строку по полям формы (разделитель - символ '&'):

"); // // для унификации поиска полей формы дополняем sBuff справа символом '&' sBuff[lData]='&'; sBuff[lData+1]='\0'; // // в sBuff теперь находятся сочетания типа 'имя поля формы=значение поля&' // int iLeft=0; // номер начального символа подстроки в строке sBuff // for(int i=0; iимя поля формы=значение поля: %s
", sSubStr); } // конец IF(sBuff[]... // fprintf(f, "


Конец динамически сгенерированной HTML- страницы..."); fprintf(f, "\n\n"); fclose(f); // } // конец функции MainFormCreate //--------------------------------------------------------------------------- // Функция DecodeStr - раскодирование строки из кодировки URL // - 20 -