电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 网页制作-> FrontPages教程
用vb编写windowscgi应用程序_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
一、WindowsCGI
----通用网关接口CGI是服务器与应用程序之间的接口,在编写HTML文件时可结合其他程序语言使客户通过浏览器将数据输入到文件里,经服务器处理后转送给客户或记录在服务器的数据库中。任何一种程序设计语言写的程序,若可在服务器主机上运行并可用CGI接口来传递数据,就可作为CGI应用程序,这种语言可被称为CGI程序语言或脚本语言(scriptinglanguage);目前最受欢迎的CGI程序语言有:C/C ,shellScript,Perl,和VisualBasic,此外还有Fortran,TCL,AppleScript等。
----CGI接口因平台不同而不同。Windows平台的CGI称为WindowsCGI。美国的BobDenny从需要实现CGI接口来处理Windows应用方面的要求入手设计实现了WindowsCGI,开发出目前在Windows95和WindowsNT平台上很受欢迎的HTTP服务器:WebSite;BobDenny用VB4.0写的WindowsCGI接口程序名为CGI32.BAS,是一个给用户在Windows95或WindowsNT环境下用VisualBasic来开发WindowsCGI应用程序的接口,主要处理WWW服务器(如:WebSite,Netscape,Alibaba等)与CGI程序之间的数据交换:在VB中通过WindowsCGI接口处理HTML的表单传过来的变量,并把处理结果通过WindowsHTTPServer再传给客户机上的浏览器,从而达到信息交互目的。

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

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

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

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

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

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

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

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

----2添加文件:在主菜单选“工程(P)|添加文件(A)”,在出现的添加文件对话框中选择cgi32.bas所在目录(例如c:\website\lib\)将其打开加入工程中;

----3添加模块:在主菜单选“工程(P)|添加模块(M)”,在出现的对话框中将模块(Module1)打开加入;

----4录入代码:在模块代码窗口中录入上面给出的两个子过程的代码。

----5保存模块和工程文件:在主菜单中选:“文件(F)|工程另存为(E)”,可对模块(Module1.bas)和工程(工程1.vbp)重新取名(例如:guida.bas和guida.vbp)存盘;

----6生成可执行文件:在主菜单中选“文件(F)|生成guida.exe(K)”,在出现的对话框里选好存盘目录将guida.exe存盘;

----7将生成的可执行文件(guida.exe)放入服务器:对WebSite服务器,应放置在子目录\WebSite\cgi-win\里;

----8在Web客户端运行这个CGI程序:在本机上运行,打开浏览器,在URL栏中连接:http://localhost/cgi-win/guida.exe;在网上的Web客户端,用http://服务器主机/cgi/guida.exe

三、用VB5.0制作一个网上征求意见的WindowsCGI应用程序
----下面举一个较复杂实用的WindowsCGI程序,它由4个子过程组成:CGI_Main(),EnterGuest(),ReturnForm()和Inter_Main();它的功能是:服务器向申请连接的Web客户发出一张表单,Web客户在表单里填入有关数据后送回服务器,服务器收到Web客户的数据并将它们写入一个文件中存储起来,同时向Web客户发送一个收条。这个WindowsCGI应用程序的工作流程如下:一当Web客户要求CGI连接,服务器运行该CGI程序,首先执行CGI_Main()过程,CGI_Main()过程调用ReturnForm()向Web客户送出一个表单,如果Web客户填了意见表,并按键寄回服务器(此时过程CGI_Main()中CGI_RequestMethod="POST"成立)则由CGI_Main()过程调用EnterGuest()获取客户发来的数据并将其放入文件guestbk.csv中,同时向Web客户返回一个信息回条表示客户表单已收到。
----由于编译使用这个CGI程序的做法与上面完全相同,故下面仅给源程序代码:

OptionExplicit
ConstBOOK_FILE="guestbk.csv"存放客户
数据的文件,自动生成,可用Excel97调阅
DeclareSubSleepLib"kernel32"
(ByValdwMillisecondsAsLong)
SubCGI_Main()
IfCGI_RequestMethod="POST"Then
EnterGuest
Beep
Else
ReturnForm
EndIf
EndSub

----一当Web客户要求CGI连接,服务器执行ReturnForm(),送出征求建议的表单:
SubReturnForm()
Send"Content-type:text/html"
Send""
Send("<HTML><HEAD><TITLE>贵州大学
</TITLE></HEAD>")
Send("<BODY><H2>欢迎您访问贵州
大学计算机软件与理论研究所WWW站点</H1>")
Send("我们的e-mail是<AHREF=""mailto:"
&CGI_ServerAdmin&_
""">lixiang@gzu.edu.cn:</A>")
Send("<HR>")
Send("请填下表,留下您的宝贵建议:")
Send("<FORMACTION="""
&CGI_ExecutablePath&"""METHOD=""POST"">")
Send("<PRE>您的姓名:
<INPUTSIZE=25NAME=""name"">")
Send("E-mail地址:
<INPUTSIZE=25NAME=""email"">")
Send("您给我们的建议:<TEXTAREACOLS=40
ROWS=4WRAP=VIRTUALNAME=""comments"">")
Send("</TEXTAREA></PRE>")
Send("请击此处将您的建议送我们:
<INPUTTYPE=""submit""")
Send("VALUE=""发送您的建议"">")
Send("<HR>")
Send("</FORM></BODY></HTML>")
EndSub

获取客户建议表单数据,将所填数据存入文件guestbk.csv并向客户返回一个信息
SubEnterGuest()
DimiLockTriesAsInteger
DimsDateAsString
DimsNameAsString
DimsEmailAsString
DimsCommentsAsString
DimsBrowserAsString
DimsFirstNameAsString
DimfnAsInteger
提取建议的有关数据:
sName=GetSmallField("name")
sEmail=GetSmallField("email")
sComments=GetSmallField("comments")
iLockTries=0
fn=FreeFile
OnErrorGoTogLockFail
gRetryLock:
OpenApp.Path "\" BOOK_FILEFor
AppendLockReadWriteAs#fn
OnErrorGoTo0
sDate=Now
Write#fn,sDate,sName,sEmail,
sComments,CGI_RemoteAddr
Close#fn
sFirstName=Trim$(Left$(sName,
InStr(sName,"")))
IfsFirstName<>""
ThensFirstName=sFirstName&","
Send("Content-type:text/html")
Send("")
Send("<HTML><HEAD><TITLE>谢谢您!
</TITLE></HEAD>")
Send("您的签名与建议是:<PRE>")
Send("日期:"&sDate)
Send("姓名:"&sName)
Send("E-Mail:"&sEmail)
Send("Hostaddress:
["&CGI_RemoteAddr&"]")
Send("建议:</PRE>")
Send(sComments)
Send("<H2>谢谢您!</H2>")
Send("</BODY></HTML>")
ExitSub
gLockFail:
Sleep(1000)
iLockTries=iLockTries 1
ResumegRetryLock
EndSub

SubInter_Main()
MsgBox"这是CGI程序,
需要在Web服务器中运行。",16,"CGI.BAS"
EndSub->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·frontpage2002高效使用的技巧_frontpages教程
·用vb编写windowscgi应用程序_visualbasic教程
·frontpage2000值得学习的10个操作技巧(下)_frontpages教程
·轻松制作自己的信息反馈web页_frontpages教程
·用frontpage 2000做样式表_frontpages教程
·网上电影发布步步进_frontpages教程
·frontpage2000实务高级网站管理_frontpages教程
·精彩新思路:frontpage xp玩特效_frontpages教程
·认识frontpage 2002扩充插件之七_frontpages教程
·获得、设置鼠标双击间隔_visualbasic教程

最新文章
·用frontpage手把手教你制作网上电影的发布_frontpages教程
·在xp中如何使用windows vista屏保_windows xp
·vb.net实现窗体图标最小化到状态栏_vb/vb.net教程
·用photoshop消除照片中的杂色条纹_photoshop教程
·photoshop照片处理:纠正倾斜照片_photoshop教程
·photoshop实例提高:魔幻特效制作实录_photoshop教程
·windows xp系统还原点丢失怎么办?_windows xp
·photoshop打造融化的巧克力字_photoshop教程
·用frontpage 2003发布您的网站_frontpages教程
·用frontpage2003轻松制作asp动态网页_frontpages教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号