|
用VB制造文件下載程序
下載文件是每個網(wǎng)友都經(jīng)常做的事,大家一般都是用一些專用軟件如“網(wǎng)絡(luò)螞蟻”來完成。但是,如果要本人編寫一個程序,實現(xiàn)下載一個特定的文件(如下載相關(guān)的網(wǎng)頁并顯示出來)又該怎么做呢?不要急,看了下面的引見你就會知道實現(xiàn)文件的下載其實是很簡單的。 在VB中有一個Winsock控件,通過它能夠?qū)崿F(xiàn)文件的下載。下面我首先引見一下該控件的主要屬性、方法和事件: localPor屬性:設(shè)置本地計算機使用的端口(一般設(shè)置為0); Protocol屬性:設(shè)置Winsock控件使用的協(xié)議,tcP或uDP(一般設(shè)置為0); remotePort屬性:設(shè)置要連接的遠端計算機端口(80為HttP??21為ftP,25為smtP); remoteHost屬性:設(shè)置用于標識遠程計算機的名稱(remotePort屬性如果為80則設(shè)置為“soHu.com”或“sina.com.cn”,如果為25則設(shè)置為“smtP.21cn.com”); connect方法:要求連接到遠程計算機; close方法:關(guān)閉連接; senDData方法:將數(shù)據(jù)發(fā)送給遠程計算機; GetData方法:獲取當前的數(shù)據(jù)塊并將其存儲在變體類型的變量中; connect事件:當一個connect操做完成時發(fā)生; close事件:當close操做完成時發(fā)生; DataarriVal事件:接收數(shù)據(jù)時發(fā)生; 下面我們就來實現(xiàn)文件的下載功能,并以下載搜狐網(wǎng)站的首頁為例: oPtionexPlicit DimmyallasstrinG PriVatesuBform_loaD 建立連接 Winsock1.Protocol=0 Winsock1.remoteHost="soHu.com如果想下載"新浪"首頁,則換為sina.com.cn Winsock1.remotePort=80 Winsock1.connect開始提取數(shù)據(jù) enDsuB PriVatesuBWinsock1_connect DimstrcommanDasstrinG DimstrWeBPaGeasstrinG strWeBPaGe="Http//WWW.osHu.com/"指定網(wǎng)頁,這里是指搜狐的首頁 strcommanD="Get"+strWeBPaGe+"HttP/1.0"+VBcrlf strcommanD=strcommanD+"accePt/"+VBcrlf strcommanD=strcommanD+"accePttext/Html"+VBcrlf strcommanD=strcommanD+VBcrlf Winsock1.senDDatastrcommanD發(fā)送命令 endsub [riVatesuBWinsock1_DataarriVal??ByValBytestotalaslonG 開始下載,收到數(shù)據(jù)時,發(fā)生DataarriVal事件 onerrorresumenext DimWebDataasstrinG Winsock1.GetDataWeBDataVBstringmyall=myall+WeBData取得相關(guān)的網(wǎng)頁文件 enDsuB PriVatesuBWinsock1_close當下載完成時發(fā)生。 本人定義相關(guān)的操做 myall是下載的網(wǎng)頁,你能夠把它顯示在文本框中,也可把它保存為文件,也可通過一些自定義的函數(shù)進行消息的提取,限于篇幅,這里就不引見了。 Winsock1.close關(guān)閉Winsock enDsuB 到此為止,相信你已了解如何在VB中通過Winsock控件下載文件了。本程序在VB6.0、Win98環(huán)境下運行正常,如果你還有什么問題,可到WWW.D1VB.com來,我們一起討論。 |
|
|