¸ÞŸ°Ë»ö ¿£ÁøÀ» ¸¸µå´Â°Ç °ñÄ¡¾ÆÇ ÀÏÀÌ´Ù.
¼·Î ´Ù¸¥ ¸ð¾çÀÇ »çÀÌÆ®¸¦ Á¢±ÙÇÏ¿© °Ë»ö°á°ú¸¦ °¡Á®¿Í¾ß Çϱ⠶§¹®ÀÌ´Ù.
ÀÌ·± Àú·± ÀÌÀ¯·Î ¸ðµç °ÍÀ» ¾ð±ÞÇÒ ¼ö´Â ¾øÁö¸¸ ¹®Á¦ ÇØ°áÀ» À§ÇÏ¿©
LIBWWW¿Í CGI¸¦ ÀÌ¿ëÇÏ¿´´Ù.
Àؾî¹ö¸®Áö ¾Êµµ·Ï ¾ÆÁÖ °£´ÜÇÑ ¸ð¾çÀÇ CGIÀÇ ¼Ò½º¸¦ Àû¾îº»´Ù.
GET (test.c)
#include <stdio.h>
#include <string.h>
int main(int argc, char ** argv)
{
printf("Content-type: text/html\n\n"); //¹Ýµå½Ã ÇÊ¿äÇÑ ºÎºÐ
printf("<html><head><title></title></head><body>");
printf("Query String %s<br>\n", getenv("QUERY_STRING")); //getenv
printf("</body></html>\n");
}
gcc -o test.cgi test.c
¾ÆÆÄÄ¡¸¦ »ç¿ëÇÑ´Ù¸é cp test.cgi /usr/local/apache/cgi-bin/
½ÇÇàÀº http://localhost/cgi-bin/test.cgi?hostname=geminidream
°á°ú´Â hostname=geminidream
POST (test.c)
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv)
{
char buf[1024];
int n;
printf("Content-type: text/html\n\n");
memset(buf, 0x00, 1024);
printf("<html><head><title></title></head><body>");
while((n = read(0, buf, 1023)) > 0)
{
printf("POST DATA : %s", buf);
memset(buf, 0x00, 1024);
}
printf("</body></html>\n");
}
GET°ú °°Àº ¹æ½ÄÀ¸·Î ÄÄÆÄÀÏÈÄ ¿Å±è
POST·Î º¸³»´Â ¿¹Á¦ phpÆÄÀÏÀ» ¸¸µç
<form action=/cgi-bin/post-cgi method=post>
À̸§ : <input type=text name=hostname size=16><br>
<input type=submit name=submit>
</form>
½ÇÇàÀº phpÆÄÀÏ¿¡¼ ÅØ½ºÆ® ¹Ú½º¿¡ ¾²°í SUBMIT
°á°ú´Â hostname=geminidream
TIP
³Ñ¾î¿À´Â ÀÎÀÚ´Â &À¸·Î ±¸ºÐµÈ´Ù. name1=value1&name2=value2...
À̺κп¡ ´ëÇÑ ³»¿ëÀº
À̰÷¸¦ ÂüÁ¶ÇÏÀÚ
CGI °ü·Ã ¶óÀ̺귯¸®
libwww ¶óÀ̺귯¸®
qDecoder