• 嵌入式开发之cgic库---cgi库的使用


    很幸运!用C语言写CGI程序还可以有比较简单的方式,那就是我们可以借助使用第三方库CGIC(CGIC是一个功能比较强大的支持CGI开发的标准C库,并支持Linux, Unix 和Windows等多操作系统)来编写,省去了必须自己去遵循CGI规范来码砖的痛苦,使CGI程序的编写变的简单,下面是我第一次使用CGIC库来写的第一个CGI程序:
    第一步:从cgic官网(http://www.boutell.com/cgic/ 此网站好像不稳定,偶尔能开)上下载cgic库文件
    第二步:在Dev-C++中创建一个console工程,起名为 cgic1
    把cgic.h、cgic.c 拷贝到工程cgic1源码文件所在的目录下,然后改写main.c如下:
    获取请求中的参数值,我们在提交一个表单(form)时,怎样把表单内的值提取出来呢?比如下面这个表单:
    <form action="cgi-bin/cgic1.cgi" method="POST">
        <input type="text" name="name" />
        <input type="text" name="number" />
        <input type="submit" value="Submit" />
    </form>
    当out.cgi收到请求时,需要把输入框“name”和输入框“number”内的值提取出来,而且不管form中的action是GET还是POST,都要有效。 
    下面给出示例代码(文件为cgic1.c):
    #include <stdio.h>
    #include "cgic.h"
    #include <string.h>
    #include <stdlib.h>
    int cgiMain() {
        char name[241];
        char number[241];
        cgiHeaderContentType("text/html");
        fprintf(cgiOut, "<HTML><HEAD> ");
        fprintf(cgiOut, "<TITLE>My CGI</TITLE></HEAD> ");
        fprintf(cgiOut, "<BODY>");
        cgiFormString("name", name, 241);
        cgiFormString("number", number, 241);
        fprintf(cgiOut, "<H1>%s</H1>",name);
        fprintf(cgiOut, "<H1>%s</H1>",number);
        fprintf(cgiOut, "</BODY> ");
        fprintf(cgiOut, "</HTML> ");
        return 0;
    }
    上面代码涉及到的cgic函数,可顾名思义,很简单不解释了,比直接用c写简洁很多,更详细的cgic库用法可上其官网查询。结果测试运行正常!
    注:编译时候,出了个错误,报指向 cgic.c 中引入的某个头文件找不到,还以为windows平台下不能运行cgic或是我下载的版本不对,因为官网打不开,上面的cgic.h、cgic.c是在源码搜索网站http://code.ohloh.net/ 下找到的,下载的cgic库可能被别人改过,后来重新搜索,下载了另一个cgic库,编译通过!
    参考http://blog.chinaunix.net/uid-20620288-id-3139686.html

    http://blog.csdn.net/ajrm0925/article/details/8813384

    http://blog.csdn.net/tiantang46800/article/details/7530930 cgic库的移植和使用

  • 相关阅读:
    EBS 获取用户密码
    Using Create directory & UTL_FILE in Oracle
    Loops with PL/SQL
    Create trigger
    Oracle DB解锁和 rerun FA depreciation
    oracle中数组的运用
    FNDLOAD使用大全
    不安装Oracle客户端,透过PL/SQL Developer连接Server DB
    R12组织屏蔽
    Oracle DB Link创建
  • 原文地址:https://www.cnblogs.com/pengkunfan/p/3956083.html
Copyright © 2020-2023  润新知