¾ÕÀå¿¡¼ º¸¾ÒµíÀÌ, ±âº»ÀûÀ¸·Î 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)
|
|
|