首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于CGI的嵌入式web server设计(3)

基于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程序设计语言。
继承事业,薪火相传
返回列表