麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

用VB編寫WindowsCGI應用程序

2019-11-18 17:45:57
字體:
來源:轉載
供稿:網友
一、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網址:
<A存放客戶
數據的文件,自動生成,可用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&_
""">[email protected]:</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->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中文字幕网在线 | 中国大陆高清aⅴ毛片 | 日本精品网 | 亚洲网站在线观看视频 | 成人毛片网站 | 亚洲欧美一区二区三区在线观看 | 爽爽淫人综合网网站 | 国产女同玩人妖 | 国产98色 | xxxxhd73国产 | 91久久国产综合精品女同国语 | 天天看天天摸天天操 | 一级黄色在线观看 | 国产精品一区二区羞羞答答 | 国产精品av久久久久久无 | 奶子吧naiziba.cc免费午夜片在线观看 | 99亚洲伊人久久精品影院红桃 | 一级啪啪片 | 亚洲99| 性爱免费在线视频 | 干色视频 | 韩日黄色片 | 精品久久久久久久久中文字幕 | 福利在线免费 | 欧美一级网 | 在线 日本 制服 中文 欧美 | 中文字幕国产日韩 | mmmwww| 日韩黄色影视 | 国产黄色毛片 | 久久一区三区 | 亚洲成人免费网站 | 毛片视频网站 | 在线观看视频毛片 | 精品国产91久久久久久久妲己 | www.99re14.com | 日韩黄色免费在线观看 | 曰批全过程40分钟免费视频多人 | 日本人乱人乱亲乱色视频观看 | 深夜视频福利 | 一本色道久久99精品综合蜜臀 |