您的位置:首页 > 运维架构 > Apache

开发Apache服务器上的CGI程序

2015-06-27 17:38 645 查看
最近学习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的网络通信有很大的帮助!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: