编译第一个CGI或ISAPI程序
将下面源码编译为DLL时 自动实现ISAPI接口函数,编译为控制台程序时为CGI程序
源码如下
.版本 2
.支持库 webcgi
.程序集 网页处理程序集
.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
.局部变量 HTTP处理, HTTP处理
置错误提示管理 (&错误管理)
捕获库异常 (&错误管理)
.如果真 (是否为调试版 ())
_临时子程序 ()
返回 (0)
.如果真结束
.如果真 (是否为ISAPI () = 真)
返回 (0)
.如果真结束
网页函数 (HTTP处理)
返回 (0) ' 可以根据您的需要返回任意数值
.子程序 错误管理, 整数型
.参数 异常地址, 整数型
.参数 错误文本, 文本型
网络输出 (错误文本)
网络输出 (“异常信息”, 取异常信息 ())
返回 (0)
.子程序 _临时子程序
' 打开网页 (“http://127.0.0.1/index.dll?a=” + 到文本 (取启动时间 ()))
.子程序 输出连接, 文本型
.参数 名称, 文本型
.参数 地址, 文本型
.局部变量 a, 文本型
a = “” + 名称 + “”
返回 (a)
.子程序 GetExtensionVersion, 逻辑型, 公开, BOOL WINAPI GetExtensionVersion(HSE_VERSION_INFO *pVer)
.参数 pVer, 整数型
.局部变量 HTTP处理, HTTP处理
HTTP处理.置ISAPI版本 (pVer, “MySoft”)
返回 (真)
.子程序 TerminateExtension, 逻辑型, 公开, BOOL WINAPI TerminateExtension( DWORD dwFlags );
.参数 dwFlags
返回 (真)
.子程序 HttpExtensionProc, 整数型, 公开, 返回 1成功 2成功并保持连接 3 HSE_STATUS_PENDING 4 失败
.参数 pECB
.局部变量 HTTP处理, HTTP处理
HTTP处理.置ISAPI指针 (pECB)
网页函数 (HTTP处理)
返回 (HTTP处理.取ISAPI返回 ())
.子程序 网页函数, , , 注意当为ISAPI时调用时在线程中运行
.参数 HTTP处理, HTTP处理
.局部变量 启动时间, 整数型
启动时间 = 取启动时间 ()
HTTP处理.输出响应头 (“200 OK”, “Content-type: text/html; charset=gb2312”, 假)
HTTP处理.输出HTML行 (“hello web 时间” + 到文本 (取现行时间 ()) + “启动时间” + 到文本 (取启动时间 ()) + “
”)
HTTP处理.输出请求 ()
HTTP处理.输出环境 ()
HTTP处理.输出HTML行 (“取内存使用量”, 取内存使用量 ())
HTTP处理.输出HTML行 (“页面用时:”, 取启动时间 () - 启动时间, “毫秒”)
运行效果如图