26. ÀÛµ¿ ¿ø¸®


  ¾ÕÀå¿¡¼­ º¸¾ÒµíÀÌ, ±âº»ÀûÀ¸·Î CGIÀÇ °³³äÀº UNIX³ª Window¿¡¼­ °ÅÀÇ ºñ½ÁÇÏ´Ù.

  ¾ÕÀÇ °­ÁµéÀ» ´Ù º¸Áö ¸øÇÑ »ç¶÷Àº CGI with C ±âÃʺÎÅÍ Â÷±Ù Â÷±Ù Àоî¿À±â ¹Ù¶õ´Ù. ÀÌ¹Ì ´Ù Àо »ç¶÷À» À§Çؼ­ ´ÙÀ½°ú °°ÀÌ °£´ÜÈ÷ ¿ä¾àÇØ º¸¸é,
  • ±âº»ÀûÀÎ ÀÛµ¿¹æ½ÄÀº UNIX¿Í Window°¡ µ¿ÀÏÇÏ´Ù.

  • CGIÇÁ·Î±×·¥À» ½ÇÇà½ÃŰ·Á¸é ¹Ýµå½Ã CGI¿ë µð·ºÅ丮¿¡ À§Ä¡½ÃÄÑ¾ß ÇÑ´Ù.

  • CGIÇÁ·Î±×·¥¿¡¼­ ±âº» Ãâ·Â(stdout)À¸·Î Ãâ·ÂÇÏ°Ô µÇ¸é ¹Ù·Î ºê¶ó¿ìÀúÈ­¸éÀ¸·Î Àü´ÞµÈ´Ù.

  • GET¹æ½ÄÀº ArgumentÇüÅ´ë·Î µé¾î¿Â´Ù.

  • CGI¿¡¼­ ±âº» ÀÔ·Â(stdin)À» ÅëÇØ¼­ »ç¿ëÀÚÀÇ ÀÔ·Â(POST¹æ½Ä)À» ÀÐ¾î µéÀÏ ¼ö ÀÖ´Ù.

  • getenv("")¸¦ ÅëÇØ¼­ ȯ°æº¯¼ö(Environment Variables)¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.

  ÀÚ ±×·³, ÀÌÁ¦ GET¹æ½ÄÀÌ ¾î¶»°Ô ÀÛµ¿µÇ´ÂÁö ¾Ë°í ÀÖÀ¸´Ï±î, Çѹø Å×½ºÆ®³ª ÇØº¸ÀÚ.

26.1 GET METHOD

  ±âÃÊ °­ÁÂÁß 7.1 GET Method( º¸±â ) ¿¹¸¦ ±×´ë·Î »ç¿ëÇØ º¸ÀÚ. ¸ÕÀú, Æû Àü¼ÛÀ» À§ÇÑ HTML ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ ÁغñÇÑ´Ù.($ROOT/htdocs/get.html ÆÄÀÏÀÌ´Ù.)

<HTML><BODY>
<FORM METHOD=GET ACTION="/cgi-bin/get.exe">
userid : <INPUT TYPE=text NAME=userid><BR>
passwd : <INPUT TYPE=password NAME=passwd><BR>
animal : <SELECT NAME=animal>
           <OPTION>lion
           <OPTION>tiger
           <OPTION>monkey
         </SELECT><BR>
area   : <INPUT TYPE=radio NAME=area VALUE=seoul> Seoul
         <INPUT TYPE=radio NAME=area VALUE=pusan> Pusan<BR>
config : <INPUT TYPE=checkbox NAME=conf1 VALUE=111> 111
         <INPUT TYPE=checkbox NAME=conf2 VALUE=222> 222<BR>
comment: <TEXTAREA NAME=comment></TEXTAREA><BR>
<INPUT TYPE=submit>
</FORM>
</BODY></HTML>


  ÀÚ, GET¹æ½ÄÀº getenv("QUERY_STRING")À¸·Î ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù°í ÇßÀ¸¹Ç·Î, ´ÙÀ½°ú °°Àº CÇÁ·Î±×·¥À» ÁغñÇÑ´Ù.

  ¿©±â¼­´Â ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÒ ¶§ MFCÇü½ÄÀ» Áö¿øÇϵµ·Ï Çϱâ À§Çؼ­ An application that supports MFC¸¦ ¼±ÅÃÇØ¼­ ¸¸µéµµ·Ï ÇÏÀÚ. (¸¸ÀÏ MFC¸¦ Áö¿øÇÏÁö ¾ÊÀº ÇüÅ·ΠÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÏ¿´´Ù¸é, getenv()ÇÔ¼ö´Â stdlib.hÆÄÀÏÀ» includeÇØ¾ß¸¸ ÄÄÆÄÀÏÀÌ µÉ °ÍÀÌ´Ù. )

    // TODO: code your application's behavior here.
    CString strHello;
    strHello.LoadString(IDS_HELLO);
    cout << (LPCTSTR)strHello << endl;


  À§¿Í °°ÀÌ »ý¼ºµÈ _tmainÇÔ¼öÀÇ ºÎºÐÀ» Áö¿ì°í ´ÙÀ½°ú °°ÀÌ º¯°æÇÏ¿© ÄÄÆÄÀÏ Çϵµ·Ï ÇÏÀÚ.
     printf("Content-type: text/html\n\n");
     printf(" INPUT <HR>\n");
     printf("%s", getenv("QUERY_STRING"));


  ´ÙÀ½Àº ½ÇÇà °á°úÀÌ´Ù.

userid=deadfire&passwd=123&animal=tiger&area=seoul&conf1=111&comment=1111


  º¸´Â ¹Ù¿Í °°ÀÌ UNIXȯ°æ°ú µ¿ÀÏÇÏ´Ù!!!

- 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