开发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的网络通信有很大的帮助!