Microsoft Visual J++. Создание приложений и аплетов на языке Java


Исходные тексты программы CGI


В лситинге 3.10 мы привели исходный текст программы CGI с именем controls. Он несколько упрощен по сравнению с исходным текстом одноименного приложения, описанного в 29 томе “Библиотеки системного программиста” - мы выбросили обработку метода передачи данных GET,  так как наше приложение CallCGI передает данные только методом POST. Описание этой программы вы найдете в упомянутом 29 томе.

Листинг 3.10. Файл controls\controls.c

// ===============================================

// Программа CGI controls.c

// Демонстрирует методы получения и обработки

// данных от форм, расположенных в документах HTML

//

// (C) Фролов А.В., 1997

// E-mail: frolov@glas.apc.org

// WWW:    http://www.glasnet.ru/~frolov

//         или

//         http://www.dials.ccas.ru/frolov

// ===============================================

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

 

// Прототипы функций перекодировки

void DecodeStr(char *szString);

char DecodeHex(char *str);

 

// ------------------------------------------------

// Функция main

// Точка входа программы CGI

// ------------------------------------------------

void main(int argc, char *argv[])

{

  int lSize;

  FILE * fileReceived;

  char * szMethod;

  char szBuf[8196];

  char szSrcBuf[8196];

  char * szPtr;

  char * szParam;

 

  // Вывод заголовка HTTP и разделительной строки

  printf("Content-type: text/html\n\n");

 

  // Вывод начального форагмента документа HTML,

  // формируемого динамически

  printf("<!DOCTYPE HTML PUBLIC"

    " \"-//W3C//DTD HTML 3.2//EN\">");

  printf("<HTML><HEAD><TITLE>Call CGI from Java"

    "</TITLE></HEAD><BODY BGCOLOR=#FFFFFF>");

 

  // Определяем метод передачи данных

  szMethod = getenv("REQUEST_METHOD");

 

  // Обработка метода POST

  if(!strcmp(szMethod, "POST"))

  {

    // Определяем размер данных, полученных от навигатора




Начало  Назад  Вперед



Книжный магазин