如何在LINUX下编译,使用请看下面这篇文章:
《Tinyhttpd在linux下编译运行;自定义端口;端口占用解决》
-------------------------------------------------------------------------------------------------------
shell cgi代码:
复制默认 index.html 为 index2.html 和 color.cgi 为date.cgi
$ cp index.html index2.html $ cp color.cgi date.cgi
-
date.cgi代码:
#!/bin/bash echo "Content-Type: text/html" echo echo "<HTML><head><meta charset="utf-8"><head><BODY>" echo "<CENTER>Today is:</CENTER>" echo "<CENTER><B>" date echo "</B></CENTER>" echo "</BODY></HTML>"
index2.html 代码:
<HTML> <TITLE>Index</TITLE> <BODY> <P>Welcome to J. David's webserver. <H1>CGI demo <FORM ACTION="date.cgi" METHOD="POST"> Enter a color: <INPUT TYPE="text" NAME="color"> <INPUT TYPE="submit"> </FORM> </BODY> </HTML>
就是将原来的color.cgi改成date.cgi就可以了
访问:
因为html文件名不是默认的名字,所以在访问时要输入具体的网页名。
http://192.168.178.128:8080/index2.html
IP修改成你机器的IP
运行效果:
出现首页直接点“提交”按钮,就可以看到下图效果。
问题一:
效果页面乱码?
原因:
服务器LINUX默认是utf-8编码,但访问网页的Windows系统编码编码是gbk,所以乱码。
解决方法一:
IE浏览器--空白处右键--编码-其他-选择UTF8编码
解决方法二:
指定返回页面的编码。
在date.cgi文本里,约第4行的<HTML><BODY>中间加入如下html代码,
即指定页面编码格式,不指定则默认使用系统编码格式。
<head><meta charset="utf-8"><head>
运行效果:
解决方法三:
运行 ./httpd 启动前,先修改系统编码为英文,显示结果也为英文
$ LANG=en_US.UTF-8
或 中文gbk编码
$ LANG=zh_CN.gbk
修改编码为英文后的效果:
参考:
http://cnblogs.com/nengm1988/p/7816618.html
https://blog.csdn.net/weixin_43468441/article/details/90756520