开发Apache服务器上的CGI程序

最近学习Cocos2d-x,其中的Cocos2d-x使用CCHttpClient实现网络通信,在此做个总结:

工具:VS2013、Apache服务器

所用语言:C语言

程序实例一:(实现一个简单的HelloWorld)

1.首先使用VS2013编译下面代码(httpserver.c)

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
    //设置HTML语言  
    printf("Content-type:text/html\n\n");

    //html中的换行符为<br>  
    printf("hello world, 我是CGI !<br>");
}

2.生成exe文件(httpserver.exe)

3.然后将exe文件copy到C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin(注意这是Apache的安装目录),同时启动Apache,并把文件改成(httpserver.cgi)

4.然后用浏览器访问http://localhost/cgi-bin/httpserver.cgi

5.结果:

 

程序实例二:(进阶篇)

1.使用VS2013编译下面代码:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void main()
{
    //设置HTML语言
    printf("Content-type:text/html\n\n");

    //通过环境变量得到用户传递的参数
    char* queryString = getenv("QUERY_STRING");

    //分解字符串queryString
    //将字符串queryString分割成两个字符串,'|'为分隔符
    char* username = strtok(queryString, "|");
    char* password = strtok(NULL, "|");

    //判断用户名和密码是否输入正确
    if (0 == strcmp(username, "xiao") && 0 == strcmp(password, "miao"))
    {
        printf("Login success !<br>");
    }
    else
    {
        printf("Login Error !<br>");
    }
}

2.生成httpserver.exe

3.然后将exe文件copy到C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin(注意这是Apache的安装目录),同时启动Apache,并把文件改成(httpserver.cgi)

4.然后用浏览器访问http://localhost/cgi-bin/httpserver.cgi?xiao|miao

5.结果:

 

 

从上面的示例我们就可理解cgi的工作过程,因而对写CCHttpClient的网络通信有很大的帮助!

 

posted @ 2015-06-27 17:38  天天AC  阅读(536)  评论(0编辑  收藏  举报