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

时间: 2024-08-12 02:03:38

开发Apache服务器上的CGI程序的相关文章

开发基于Apache服务器上的CGI程序

在上一节中成功的搭建了Apache服务器,这节将介绍使用C语言开发能在Apache服务器上运行的CGI程序 安装好Apache服务器后,在C:\Program Files\Apache Software Foundation\Apache2.2下有一些用于开发Apache服务器的文件 文件介绍: bin:Apache服务器软件所在地 cgi-bi:保存C语言写的程序 conf:保存服务器设置的信息 error:网站发送错误的处理 htdcocs:保存HTML程序 icons:保存开发Apache

Apache服务器中运行CGI程序的方法,文中以Perl脚本作为示例

关于apache与CGI在这里就不解释了. 1.apache下面以2.0.63为例介绍运行CGI程序的配置.(http://www.nklsyy.com) 2.下载Windows下的Perl解释器ActivePerl,最新版本ActivePerl- 5.10.0.1003,假设安装路径为c:\Perl. 3.修改apache的配置文件httpd.conf: <Directory "D:/Apache Group/Apache2/cgi-bin"> AllowOverride

配置接口配置文件 明确指出错误信息(“/”服务器上出现应用程序错误)

开发环境:.net 其实这类问题(如下图)之前已经断断续续遇见过几次 但是每次都是不太上心或者已经知道错误出在哪里,但是类似于下图中这种莫名其妙的描述,排查起来较为困难 此时需要在配置文件中设置节点,将错误信息明确指出来,以便排错 “/”应用程序中的服务器错误. 运行时错误 说明: 服务器上出现应用程序错误.此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因).但可以通过在本地服务器计算机上运行的浏览器查看. 详细信息: 若要使他人能够在远程计算机上查看此特定错误信息

.net 禁止远程查看应用程序错误的详细信息,服务器上出现应用程序错误

打开页面时出现以下错误 ? "/"应用程序中的服务器错误. 运行时错误 说明:?服务器上出现应用程序错误.此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因).但可以通过在本地服务器计算机上运行的浏览器查看.? 详细信息:?若要使他人能够在远程计算机上查看此特定错误消息的详细信息,请在位于当前 Web 应用程序根目录下的"web.config"配置文件中创建一个 <customErrors> 标记.然后应将此 <cust

在APACHE服务器上的访问方式上去除index.php

下面我说下 apache 下 ,如何 去掉URL 里面的 index.php 例如: 你原来的路径是: localhost/index.php/index 改变后的路径是: localhost/index 1.httpd.conf配置文件中加载了mod_rewrite.so模块 //在APACHE里面去配置 #LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 2.在APACHE里面去配置 ,将里面的AllowOverride Non

服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止

原文:服务器上出现应用程序错误.此应用程序的当前自定义错误设置禁止 误设置禁止远程查看应用程序错误的详细信息(出于安全原因). 之前自己也碰到過這種情況.特此整理,希望能夠幫助有困惑的挨踢人士~ 说明: 服务器上出现应用程序错误.此应用程序的当前自定义错误设置禁止查看应用程序错误的详细信息. 详细信息: 若要使他人能够从本地服务器计算机上查看此特定错误信息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记.然后应将

Yii优化路由Apache配置(在APACHE服务器上的访问方式上去除index.php)

在APACHE服务器上的访问方式上去除index.php 下面我说下 apache 下 ,如何 去掉URL 里面的 index.php 例如: 你原来的路径是: localhost/index.php/index 改变后的路径是: localhost/index 1.httpd.conf配置文件中加载了mod_rewrite.so模块 //在APACHE里面去配置 #LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 2.httpd.

Apache服务器上设置404错误页面

Apache服务器上设置404错误页面 基于ubuntu 16.04系统,使用 apache 进行设置 配置步骤 添加404页面 在所配置网站的根目录添加编辑好的 404.html 修改localized-error-pages.conf配置文件 localized-error-pages.conf位于 /etc/apache2/conf-enabled目录下 把#ErrorDocument 404 /404.html 去掉# 重启 apache 服务器 /etc/init.d/apache2

在Apache服务器上安装SSL证书

在Apache服务器上安装SSL证书 阿里云SSL证书服务支持下载证书安装到Apache服务器,从而使Apache服务器支持HTTPS安全访问.本文介绍了证书安装的具体操作. 前提条件 您的Apache服务器上已经开启了443端口(HTTPS服务的默认端口). 您的Apache服务器上已安装了mode_ssl.so模块(启用SSL功能). 本文档证书名称以domain name为示例,例如:证书文件名称为domain name_public.crt,证书链文件名称为domain name_cha