如果说COM和DLL让程序间交互数据变得方便,那CGI这门简单而又古老的技术让网络上数据交互变得方便。虽然古老,但浩瀚的互联网上和世界各地的企业内部,仍有许许多多并发访问量不大的业务在使用这门技术。今天做个回顾,并列出一些例子做些说明。
注意事项:
创建站点的内容CSDN比较丰富,细节从略,就注意事啰嗦几句。
1. 物理路径的访问权限,可以在WINDOWS系统的用户管理中进行授权管理,或是直接在文件夹中设置权限,总之要有访问物理路径的权限。
2. 创站点时连接为这地方点进去,不妨用登录计算机的账号和密码连接,因为这个账号肯定是有权限的,大多情况下它是管理员账号。
3. 创了站点会遇到启动后应用池中站点就用图标多个小方块停止了,再启动又停止。这个时候设置一下标识到 LocalService ,还有一种情况是创站点时的端口号不要用默认的80,用其它未使用的,否则它也会停止。
支持CGI的站点到这步就创建好了。关键的坑过去了,其它的多折腾几次就熟悉了,IIS这东西MS系开发时发布和测试会用的。下面是要放到cgi-bin目录下的样例。
1. VC CGI样例。VC6的C++,使用cout标准输出。若是c的话,注释掉 cout,去年 printf 的注释。
#include "stdafx.h"
#include "iostream.h"
int main(int argc, char* argv[])
{
cout << "Content-type:text/html\n\n" << endl;
cout << "" << endl;
cout << "Friends CGI Demo (dynamic screen)" << endl;
cout << " " << endl;
cout << "" << endl;
cout << "Hello World From MFC
" << endl;
cout << "" << endl;
/*
printf("Content-type:text/html\n\n");
printf("");
printf("Friends CGI Demo (dynamic screen)");
printf(" ");
printf("");
printf("Hello World From MFC
");
printf("");
*/
return 0;
}
编译成exe然后改扩展名为 cgi 放到 cgi-bin 文件下。在浏览中输入 http://本机地址:端口/cgi-bin/cgi程序.cgi 执行,结果到屏幕上了。
2. FreeBasic CGI样例。新建控制台项目
print "Content-Type: text/html" & vbCrLf
Print "" & vbCrLf
print "Hello World " & vbCrLf
print "" & vbCrLf
print "" & vbCrLf
print "" & vbCrLf
print "Hello World, CGI!
" & vbCrLf
print "" & vbCrLf
Print "