Board logo

标题: 基于CGI的嵌入式web server设计(3) [打印本页]

作者: yuyang911220    时间: 2015-12-25 10:03     标题: 基于CGI的嵌入式web server设计(3)

 四、产生HTML输出



  CGI程序产生的输出由两部分组成:MIME头信息和实际的信息。两 部分之间以一个空行分开。我们已经看到怎样使用MIME头信息″Cont
enttype:text/plain\n\n″和printf()、put char()等函数调用来输
出纯ASCII文本给Web服务器。实际上,我们也可以使用MIME头信息″C
ontenttype:text/html\n\n″来输出HTML源代码给Web服务器。请注
意任何MIME头信息后必须有一个空行。一旦发送这个MIME头信息给We
b服务器后,Web浏览器将认为随后的文本输出为HTML源代码,在HTML源
代码中可以使用任何HTML结构,如超链、图像、Form,及对其他CGI程 序的调用。也就是说,我们可以在CGI程序中动态产生HTML源代码输出
,下面是一个简单的例子。



  #include <stdio.h>


  #include <string.h>


  main()


  {


   printf(″Contenttype:text/html\n\n″);


  printf(″<html>\n″);


  printf(″<head><title>An HTML Page From a
CGI</title></h ead>\n″);


  printf(″<body><br>\n″);


printf(″<h2> This is an HTML page generated from with i n a CGI
program..   .</h2>\n″);


  printf(″<hr><p>\n″);


  printf(″<a href="../output.html#two"><b> Go back to out
put.html page <


  /b></a>\n″);


  printf(″</body>\n″);


  printf(″</html>\n″);


  fflush(stdout);


  }





  上面的CGI程序简单地用printf()函数来产生HTML源代码。请注 意在输出的字符串中如果有双引号,在其前面必须有一个后斜字符\,
这是因为整个HTML代码串已经在双引号内,所以HTML代码串中的双引 号符必须用一个后斜字符\来转义。





  五、结束语



  本文详细分析了用C语言进行CGI程序设计的方法、过程和技巧。 C语言的CGI程序虽然执行速度快、可靠性高,但是相对于Perl语言来
说,C语言缺乏强有力的字符串处理能力,因此在实际应用中,应根据需 要和个人爱好来选择合适的CGI程序设计语言。





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0