用VB制作文件下載程序
發(fā)表時間:2023-07-29 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]轉(zhuǎn)載VB愛好者樂園 作者:艾軍 -------------------------------------------------------------------------------- ...
轉(zhuǎn)載VB愛好者樂園
作者:艾軍
--------------------------------------------------------------------------------
下載文件是每個網(wǎng)友都經(jīng)常做的事,大家一般都是用一些專用軟件如“網(wǎng)絡(luò)螞蟻”來完成。但是,如果要自己編寫一個程序,實現(xiàn)下載一個特定的文件(如下載相關(guān)的網(wǎng)頁并顯示出來)又該怎么做呢?不要急,看了下面的介紹你就會知道實現(xiàn)文件的下載其實是很簡單的。
在VB中有一個 Winsock 控件,通過它可以實現(xiàn)文件的下載。下面我首先介紹一下該控件的主要屬性、方法和事件:
localPor屬性:設(shè)置本地計算機(jī)使用的端口(一般設(shè)置為0);
Protocol屬性:設(shè)置Winsock控件使用的協(xié)議,tcP或uDP(一般設(shè)置為0);
remotePort屬性:設(shè)置要連接的遠(yuǎn)端計算機(jī)端口(80為HttP21為ftP,25為smtP);
remoteHost 屬性:設(shè)置用于標(biāo)識遠(yuǎn)程計算機(jī)的名稱(remotePort 屬性如果為 80 則設(shè)置為“soHu.com”或“sina.com.cn”,如果為 25 則設(shè)置為“smtP.21cn.com”);
connect方法:要求連接到遠(yuǎn)程計算機(jī);
close方法:關(guān)閉連接;
senDData方法:將數(shù)據(jù)發(fā)送給遠(yuǎn)程計算機(jī);
GetData方法:獲取當(dāng)前的數(shù)據(jù)塊并將其存儲在變體類型的變量中;
connect事件:當(dāng)一個connect操作完成時發(fā)生;
close事件:當(dāng)close操作完成時發(fā)生;
DataarriVal事件:接收數(shù)據(jù)時發(fā)生;
下面我們就來實現(xiàn)文件的下載功能,并以下載搜狐網(wǎng)站的首頁為例:
oPtion exPlicit
Dim myall as strinG
PriVate suB form_loaD
建立連接
Winsock1.Protocol=0
Winsock1.remoteHost = "soHu.com如果想下載"新浪"首頁,則換為 sina.com.cn
Winsock1.remotePort = 80
Winsock1.connect 開始提取數(shù)據(jù)
enD suB
PriVate suB Winsock1_connect
Dim strcommanD as strinG
Dim strWeBPaGe as strinG
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.senDData strcommanD 發(fā)送命令
end sub
[riVate suB Winsock1_DataarriValByVal Bytestotal as lonG
開始下載,收到數(shù)據(jù)時,發(fā)生DataarriVal事件
on error resume next
Dim WebData as strinG
Winsock1.GetData WeBData VBstring myall = myall + WeBData 取得相關(guān)的網(wǎng)頁文件
enD suB
PriVate suB Winsock1_close 當(dāng)下載完成時發(fā)生。
自己定義相關(guān)的操作
myall 是下載的網(wǎng)頁,你可以把它顯示在文本框中,也可把它保存為文件,也可通過一些自定義的函數(shù)進(jìn)行信息的提取,限于篇幅,這里就不介紹了。
Winsock1.close 關(guān)閉 Winsock
enD suB
到此為止,相信你已了解如何在VB中通過 Winsock 控件下載文件了。本程序在 VB6.0、Win98 環(huán)境下運(yùn)行正常,如果你還有什么問題,可到 WWW.D1VB.com來,我們一起討論。