ÓÃC/C£«£«Ð´CGI³ÌÐò
ÓÃC/C£«£«Ð´CGI³ÌÐò
ʹÓÃCGIC¿âµÄ¼òÒª£º
¿âµÄº¯Êý˵Ã÷£º http://www.boutell.com/cgic/#cgiFormStringNoNewlines
1. ´òÓ¡CGI±ê×¼Êä³öÍ·²¿£º
cgiHeaderContentType£¨"text/plain"£©£»
»òÕߣº
fprintf£¨ stdout£¬ "Content-type£ºtext/plain\n\n"£©£»ºìÉ«²¿·Ö²»ÄÜд³ö“Contenttype”£¬·ñÔòä¯ÀÀÆ÷ÏÔÊ¾ÍøÒ³»á²»Õý³£¡£
2. ´¦ÀíRequest Method£º
//deal with "GET"/"POST" method
if (strncmp(cgiRequestMethod, "post",4) == 0)
{
handlePostRequest();
}
else //"GET"
{
handleGetRequest();
}
3. »ñÈ¡QueryStringÖеĸ÷¸ö×Ö¶ÎÖµ£º
cgiFormStringNoNewlines("query1", cmdstr, sizeof(cmdstr));
if (strcmp(cmdStr, "ip_address") == 0)
{
...
}
else
...
4. CGIÊä³ö£ºfprintf£¨cgiOut£¬ "%s\n"£¬ cgi_Output£©£»
ÒÔÏÂÊÇһЩϸ½Ú£º
Ò»¡¢ C/C++±àдCGI³ÌÐòÖ®form´¦Àí
1. GET
2. POST
3. ½áÊø
ÎÒÃÇÓÐÒ»ÕÅweb
test.html
<html>
<head>
<title>form test</title>
</head>
<body>
<form method="get" name="test-get" action="./cgi-bin/test-get.cgi">
<input name="name"><input name="pswd"><input type=submit value="get">
</form>
<br><br>
<form method="post" name="test-post" action="./cgi-bin/t
Ïà¹ØÎĵµ£º
CÖеĿɱä²ÎÊýÑо¿
Ò»£® ºÎν¿É±ä²ÎÊý
int printf(const char* format, ...);
ÕâÊÇʹÓùýCÓïÑÔµÄÈËËùÔÙÊìϤ²»¹ýµÄprintfº¯ÊýÔÐÍ£¬ËüµÄ²ÎÊýÖоÍÓй̶¨²ÎÊýformat ......
ÔÚÍøÉÏ¿´µ½ÁËÕâÆªÎÄÕ£¬·Ç³£²»´í£¬»ñÒæ·Ëdz£¬ÓÚÊÇת¹ýÀ´£¬Ï£ÍûÄܶԴó¼ÒÓÐËùñÔÒæ¡£ÎÄÕÂÔ×÷Õߣºantigloss http://free3.e-168.cn/antigloss/
ºÜ¶àÈËÉõÖÁÊÐÃæÉϵÄһЩÊé¼®£¬¶¼Ê¹ÓÃÁËvoid main( ) £¬ÆäʵÕâÊÇ´íÎóµÄ¡£C/C++ ÖдÓÀ´Ã»Óж¨Òå¹ývoid main( ) ¡£C++ Ö®¸¸ Bjarne Stroustrup ÔÚËûµ ......
---- ÔÚÊý¾Ý¿âµÄÓ¦Óÿª·¢ÖУ¬³£³£»áÓöµ½ÐÔÄܺʹú¼ÛµÄÖ®¼äì¶Ü¡£ÒÔ×÷ÕßÔÚ¿ª·¢¹ÉÊÐÐÐ
Çé²éѯºÍ½»Ò×ϵͳÖÐÓöµ½µÄÎÊÌâΪÀý£¬ÒªÔÚʵʱ¼Ç¼1000¶àÖ»¹ÉƱÿ·ÖÖÓ¸üÐÂÒ»´ÎµÄÐÐ
ÇéÊý¾ÝµÄͬʱ£¬ÏìÓ¦´óÁ¿²¢·¢Óû§µÄÊý¾Ý²éѯÇëÇ󡣿¼Âǵ½ÐԼ۱ȺÍÒ×ά»¤ÐÔ£¬ÏµÍ³ÓÖ
ÒªÇóÔÚ»ùÓÚPC·þÎñÆ÷£¬Windows NTƽ̨µÄÈíÓ²¼þ»·¾³ÏÂʵÏÖ¡£¿ª ......
µ±Ï¶¨¾öÐÄÈ¥×öÒ»¼þÊÂÇéµÄʱºò,¾ÍûÓÐʲô¿ÉÒÔ×èµ²ÎÒ£¡Æ©Èçȥ˯¾õ--! from ¡¶¾õÖ÷ÓA·
ÁîÎÒìþìý²»°²µÄ¸ßÊýѧλ֤¿¼ÊÔ¹ýÈ¥ÁË£¬½á¹û»¹ÊÇÂúÒâµÄ¡£ËäÈ»»¨ÁË3ÖܵÄʱ¼äÈ¥×¼±¸¸´Ï°Êýѧ£¬µ«ÊÇÎÒÈ´·¢ÏÖ£¬ÕæÕýȥѧϰµÄʱºòÖ»ÓÐ×îºóÄÇÁ½Ì죬ÒÔÍùµÄʱ¼äÈ«ÊÇÀ˷ѵôÁË¡£ËìÃ÷
°×£¬ÎªÊ²Ã´Í¬Ò»ÖÖ»·¾³ÏµÄÈË£¬ÓеijÉÁËÌì²Å£¬ÓеÄÂÙÎ ......