Сервер Web своими руками. Язык HTML, приложения CGI и ISAPI




Приложение ISFORM - часть 4


 

  // Название метода передачи данных

  wsprintf(szTempBuf, "<BR>Method: %s", lpECB->lpszMethod);

  strcat(szBuff, szTempBuf);

 

  // Строка параметров запуска расширения ISAPI

  wsprintf(szTempBuf, "<BR>QueryString: %s",

    lpECB->lpszQueryString);

  strcat(szBuff, szTempBuf);

 

  // Физический путь к программному файлу расширения ISAPI

  wsprintf(szTempBuf, "<BR>PathTranslated: %s",

    lpECB->lpszPathTranslated);

  strcat(szBuff, szTempBuf);

  // Полный размер данных, которые нужно получить

  wsprintf(szTempBuf, "<BR>TotalBytes: %d",

    lpECB->cbTotalBytes);

  strcat(szBuff, szTempBuf);

  // Сколько доступно предварительно прочитанных данных

  wsprintf(szTempBuf, "<BR>Available: %d",

    lpECB->cbAvailable);

  strcat(szBuff, szTempBuf);

  // Тип данных

  wsprintf(szTempBuf, "<BR>ContentType: %s",

    lpECB->lpszContentType);

  strcat(szBuff, szTempBuf);

  lstrcpyn(szTempBuf, lpECB->lpbData, lpECB->cbAvailable + 1);

  szTempBuf[lpECB->cbAvailable + 1] = '\0';

 

  strcat(szBuff, "<H2>Принятые данные</H2>");

  strcat(szBuff, szTempBuf);

  // Перекодируем данные и отображаем результат

  // перекодировки

  DecodeStr(szTempBuf);

  strcat(szBuff, "<H2>Данные после перекодировки</H2>");

  strcat(szBuff, szTempBuf);

  // Выводим в документ список значений полей формы

  strcat(szBuff, "<H2>Список значений полей</H2>");

  szTempBuf[lpECB->cbAvailable] = '&';

  szTempBuf[lpECB->cbAvailable + 1] = '\0';

 

  for(szParam = szTempBuf;;)

  {

      szPtr = strchr(szParam, '&');

      if(szPtr != NULL)

      {

        *szPtr = '\0';

        DecodeStr(szParam);

        strcat(szBuff, szParam);

        strcat(szBuff, "<BR>");

        szParam = szPtr + 1;




Содержание  Назад  Вперед