26. 작동 원리


26.2 POST METHOD

  자 그럼, 문제는 우리가 UNIX환경에서 썼던 CGI Utility Function들을 Porting하는 것이다.

  가장 간단한 방법은 해당 함수들이 결국은 C로 작성된 것들이므로, 그대로 붙여 넣어 버리면 된다. 한번 해보자.( 원래는 제대로 포팅해야 되는데...... )

  MFC를 지원하도록 프로젝트를 생성했다면, _tmain함수만 존재할 것이다. 이제 cgipost.c파일과 cgipost.h파일의 내용을 _tmain함수 밖에다가 그대로 긁어서 붙여 넣도록 하자. 다음은 붙여 넣어야 할 함수와 선언들이다.

#define MAXENTRY 100

typedef struct {
   char *name;
   char *val;
}entry;

entry entries[MAXENTRY];
int entry_count;
char *makeword(char *line, char stop);
char *fmakeword(FILE *f, char stop,int *cl);
char *findEntry(char *name);
char x2c(char *what);
void unescape_url(char *url);
void plustospace(char *str);
void getPostData(void);
int findEntryCount(char *name);


  * 당연히 해당 함수의 Body부분도 첨가할것!

  자 이제, getPostData()함수를 호출하면 UNIX상에서와 같이 자동적으로 데이터가 채워지게 될 것이다. 따라서. _tmain함수를 다음과 같이 수정해 보자.

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

char* name = findEntry("Name");
printf(" Input Name is : [%s]\n", p);


  위의 예는 Form 데이터가 POST방식으로 들어올때, 그 중에서 Name이라는 이름으로 올라오는 문자열을 추출해서 출력하는 예이다.

    Porting   제대로 포팅을 하려면, 위의 함수들을 별도의 클래스(Class)로 만들어서 char *가 아닌 CString을 이용한 함수로 만들어 주는게 정확한 의미에서의 Porting이다. 물론, 이 상태로 사용하는데도 크게 문제는 없지만......

  자, 이제 기본적인 설명은 끝났다. 계속 말하지만, UNIX와 거의 동일하므로 앞에서 배웠던 CGI with C 활용부분을 참고 하기 바란다. 이 다음 장부터는 Window환경에서 좀 독특한 부분들 위주로 설명을 하도록 하겠다.

- Last Update : 2001.11.30 by Deadfire(http://www.deadfire.net)

CGI with MFC
윈도우용 CGI
웹서버 설정
작성 방법
작동 원리
     - GET METHOD
     - POST METHOD
MDB사용하기
File Upload
앞으로...

Copyright ⓒ 1997 ~, Deadfire Program Master