用VB编写Windows CGI应用程序

2008-02-23 06:58:15来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

一、 Windows CGI
---- 通 用 网 关 接 口CGI 是 服 务 器 与 应 用 程 序 之 间 的 接 口, 在 编 写HTML 文 件 时 可 结 合 其 他 程 序 语 言 使 客 户 通 过 浏 览 器 将 数 据 输 入 到 文 件 里, 经 服 务 器 处 理 后 转 送 给 客 户 或 记 录 在 服 务 器 的 数 据 库 中。 任 何 一 种 程 序 设 计 语 言 写 的 程 序, 若 可 在 服 务 器 主 机 上 运 行 并 可 用CGI 接 口 来 传 递 数 据, 就 可 作 为CGI 应 用 程 序, 这 种 语 言 可 被 称 为CGI 程 序 语 言 或 脚 本 语 言(scripting language); 目 前 最 受 欢 迎 的CGI 程 序 语 言 有:C/C , shell Script, Perl, 和Visual Basic, 此 外 还 有Fortran, TCL, AppleScript 等。
---- CGI 接 口 因 平 台 不 同 而 不 同。Windows 平 台 的CGI 称 为Windows CGI。 美 国 的Bob Denny 从 需 要 实 现CGI 接 口 来 处 理Windows 应 用 方 面 的 要 求 入 手 设 计 实 现 了Windows CGI, 开 发 出 目 前 在Windows95 和Windows NT 平 台 上 很 受 欢 迎 的HTTP 服 务 器:WebSite;Bob Denny 用VB4.0 写 的Windows CGI 接 口 程 序 名 为CGI32.BAS, 是 一 个 给 用 户 在Windows 95 或Windows NT 环 境 下 用Visual Basic 来 开 发Windows CGI 应 用 程 序 的 接 口, 主 要 处 理WWW 服 务 器( 如:WebSite, Netscape, Alibaba 等) 与CGI 程 序 之 间 的 数 据 交 换: 在VB 中 通 过Windows CGI 接 口 处 理HTML 的 表 单 传 过 来 的 变 量, 并 把 处 理 结 果 通 过Windows HTTP Server 再 传 给 客 户 机 上 的 浏 览 器, 从 而 达 到 信 息 交 互 目 的。

---- 由 于Windows 没 有 命 令 解 释 器(command intERPreter), 所 以Windows CGI 程 序 都 必 需 编 译 为 可 执 行 文 件 在 服 务 器 上 运 行。

---- 除VB 外, 可 以 在Windows 上 用 来 写Windows CGI 程 序 的 语 言 还 很 多, 例 如: Delphi, Perl, VC 等; 目 前Visual Basic 得 以 流 行, 是 因 为 该 语 言 不 仅 在Windows 用 户 中 很 普 及, 而 且 最 早 被 发 表 为 撰 写Windows CGI 程 序 的 标 准, 同 时 该 语 言 支 持 许 多Windows 环 境: 例 如OLE, DDE,Sockets, ODBC 等; 此 外,VB 应 用 程 序 可 在 不 需 要 窗 体(windows forms) 而 只 在 模 组(modules) 的 环 境 下 开 发, 十 分 符 合CGI 应 用 程 序 的 需 要。

---- 以 前, 多 用VB4.0(32 位 版) 开 发Windows CGI 应 用 程 序, 由 于VB5.0 的 推 出, 用VB5.0 写Windows CGI 应 用 程 序 更 为 简 单、 方 便 和 有 力。

---- 要 在Windows 95/NT 的PC 微 机 上 运 行Windows CGI 程 序 必 须 在PC 机 上 安 装 一 个 支 持Windows CGI 的 服 务 器, 例 如WebSite;WebSite 是 一 个 基 于Windows95/Windows NT 运 行 的32 位、 多 线 程 的 服 务 器, 功 能 强 大、 使 用 方 便, 完 全 满 足 小 单 位 或 个 人 建 立PC 服 务 器 的 要 求。 有 关 它 的 最 新 信 息 和 免 费 试 用 版 可 从 http://website.ora.com/ 获 取。

二、 用VB5.0 编 制Windows CGI 应 用 程 序 的 具 体 步 骤
---- Denny 用Visual Basic 4.0(32 位 版) 开 发 了 一 个Windows CGI 库 模 块:CGI32.BAS, 它 与WebSite 软 件 一 道 提 供 使 用( 安 装WebSite 时CGI32.BAS 被 放 在c:\website\lib 下, 很 容 易 找 到);CGI32.BAS 为Windows 95/Windows NT 下 用VB4.0 开 发Windows CGI 程 序 设 计 提 供 了 极 大 的 方 便; 目 前 微 软 推 出 了 功 能 更 强 大 的Visual Basic5.0, 本 文 通 过 例 子 介 绍 在CGI32.BAS 下 用VB5.0 编 写Windows CGI 应 用 程 序 的 方 法, 通 过 这 些 例 子 可 以 看 出 用VB5.0 来 编 写Windows CGI 应 用 程 序 比VB4.0 更 为 有 力 和 简 单。
---- 下 面 首 先 介 绍 一 个 最 简 单 的Windows CGI 程 序 以 及 将 它 编 译 为 可 执 行 文 件 放 于 服 务 器 应 用 的 方 法, 这 些 方 法 是 一 般 的, 对VB 编 写 的Windows CGI 程 序 普 遍 实 用。 程 序 由 两 个 子 过 程CGI_Main() 和Inter_Main() 构 成, 子 过 程CGI_Main() 功 能 是 在 服 务 器 端 产 生 一 个HTML 页 面 并 送 回Web 客 户, 这 个 页 面 显 示 了 两 行 汉 字 和 服 务 器 时 间, 是Windows CGI 程 序 的 入 口, 是 必 不 可 少 的; 另 一 个 子 过 程Inter_Main() 提 示 该 程 序 必 须 在Web 服 务 器 中 运 行。 源 程 序 代 码 如 下:

Sub CGI_Main()
Send ("Content-type: text/html")
Send ("")
Send ("< HTML >< HEAD >< TITLE >
欢迎< /TITLE >< /HEAD >")
Send ("< BODY >")
Send ("< H1 ALIGN=CENTER >
< FONT COLOR='#FF0080' >
欢迎您访问< /FONT >< /H1 >")
Send ("< H1 ALIGN=CENTER >
< FONT COLOR='#FF0080' >
贵州大学计算机软件与理论研究所
< /FONT >< /H1 >")
Send ("< HR WIDTH='100%' >")
Send ("< P >< H2 >< FONT COLOR='#000000' >
您访问的时间是:" & Now)
Send ("我们的WWW网址:
< A HREF='http://www.gzu.edu.cn/
~lixiang/index.html' >
www.gzu.edu.cn/~lixiang/index.html< /A >")
Send ("我们的Email地址:
< A HREF='mailto:lixiang@gzu.edu.cn' >
lixiang@gzu.edu.cn")
Send ("< /H2 >< /BODY >< /HTML >")
End Sub
Sub Inter_Main()
MsgBox "这是CGI程序,需在Web服务器上运行."
End Sub

---- 现 在, 介 绍 在VB5.0 集 成 开 发 环 境 里 编 辑、 编 译、 调 试 该Windows CGI 应 用 程 序 并 生 成 可 执 行 文 件 放 入 服 务 器 中 在 网 上 使 用 的 具 体 步 骤:

---- 1 建 立 项 目(Project): 运 行VB5.0, 在 主 菜 单 选“ 文 件(F) | 新 建 工 程(N)”, 在 出 现 的“ 新 建 工 程” 对 话 框 中 选“ 标 准 EXE”; 由 于Windows CGI 应 用 程 序 不 需 要 自 己 的 窗 体, 故 在 用VB5.0 建 立 项 目 文 件(Project) 的 上 述 步 骤 后, 在 出 现 的 名 为“ 工 程- 工 程1” 的“ 资 源 管 理 器” 窗 口 中 用 鼠 标 右 击“Form1” 将 其 删 除;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:利用Api函数计算Windows从启动后所运行的总时间

下一篇:用VB做的合路器