查看: 1126|回复: 0

SIN210学习笔记__CGI通用网关接口配置

[复制链接]
  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2015-2-27 10:42:29 | 显示全部楼层 |阅读模式
    分享到:
    CGI(Common Gateway  Interface)
      WWW技术中最重要的技术之一,有着不可替代的重要地位。  CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。(以上内容摘自百度百科)
    CGI简单的理解就是一个浏览器和服务器传递信息的一个接口规范。CGI并不是一种编程语言,而是一个规范标准。有人认为JavaScript功能强大到取代CGI,JavaScrpit和CGI是不同的,JavaScript是在客户端运行的脚本,而通过CGI,用户可以在服务器运行一些程序。
    网络中会经常使用<FORM>标签来进行值的传递。

    • <form method=get action="cgi-bin/demo-cgi.cgi">
    • </form>
    <form method=get action="cgi-bin/demo-cgi.cgi"> </form>如上代码所示,method 有get 和 post  两种不同的方式。若不标注,get是缺省值。
    GET
      当数据被传送到服务器端后,数据被保存在服务器上 QUERY_STRING  的环境变量中。只要读取环境变量就可以了。不同的语言有不同的函数,如C中,可以用库函数getenv()读取()(stdlib.h)
    POST
      post method 不是通过 QUERY_STRING 变量传递的,而是通过stdin(标准输入)传递的。
    更详细的可以参考下这个帖子 LINUX CGI  编程
    首先在开发板的web目录里新建一个cgi-bin的文件夹。
    在Ubuntu上新建 demo_cgi.c  编辑如下:


    • #include <stdio.h>
    • int main()
    • {
    • printf("Content-type:text/html\n\n");
    • printf("<html>\n<head><title>CGI DEMO</title></head>\n");
    • printf("<body>\n<center> SINLINX SIN210 : WWW.SINLINX.COM</center>\n<body>\n</html>");
    • return 0;
    • }
    #include <stdio.h> int main() {    printf("Content-type:text/html\n\n");    printf("<html>\n<head><title>CGI DEMO</title></head>\n");    printf("<body>\n<center> SINLINX SIN210 : WWW.SINLINX.COM</center>\n<body>\n</html>");    return 0; }保存demo_cgi.c文件。
    执行下面指令
    # arm-linux-gcc -o  demo_cgi.cgi demo_cgi.c
    将生成的demo_cgi.cgi 文件复制到开发板的 /web/cgi-bin/  文件夹中。
    在开发板的 web/ 文件夹中新建一个 demo_cgi.html 代码如下:


    • <html>
    • <head>
    • <title> DEMO CGI </title>
    • </head>
    • <body>
    • <center><a href="cgi-bin/demo_cgi.cgi"> HelloWii SIN210:www.sinlinx.com </a> <center>
    • </body>
    • </html>
    <html> <head> <title> DEMO CGI </title> </head> <body>    <center><a href="cgi-bin/demo_cgi.cgi"> HelloWii SIN210:www.sinlinx.com </a> <center> </body> </html>   。
    在浏览器中输入  https://192.168.1.20/demo_cgi.html   即可出现如下界面(192.168.1.20 是笔者的开发板IP)

    点击上面的文字,即可执行cgi-bin中的程序,如下所示:

    至此,可以通过浏览器执行服务器上的程序了。

    最后非常感谢 SINLINX  公司提供的sin210开发板。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-18 17:27 , Processed in 0.105045 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.