在VB中有一個 Winsock 控件,通過它可以實現文件的下載。下面我首先介紹一下該控件的主要屬性、方法和事件:
localPor屬性:設置本地計算機使用的端口(一般設置為0);
Protocol屬性:設置Winsock控件使用的協議,tcP或uDP(一般設置為0);
remotePort屬性:設置要連接的遠端計算機端口(80為HttP21為ftP,25為smtP);
remoteHost 屬性:設置用于標識遠程計算機的名稱(remotePort 屬性如果為 80 則設置為“soHu.com”或“sina.com.cn”,如果為 25 則設置為“smtP.21cn.com”);
connect方法:要求連接到遠程計算機;
close方法:關閉連接;
senDData方法:將數據發送給遠程計算機;
GetData方法:獲取當前的數據塊并將其存儲在變體類型的變量中;
connect事件:當一個connect操作完成時發生;
close事件:當close操作完成時發生;
DataarriVal事件:接收數據時發生;
下面我們就來實現文件的下載功能,并以下載搜狐網站的首頁為例:
oPtion exPlicit [riVate suB Winsock1_DataarriValByVal Bytestotal as lonG |
開始下載,收到數據時,發生DataarriVal事件
| on error resume next Dim WebData as strinG Winsock1.GetData WeBData VBstring myall = myall + WeBData 取得相關的網頁文件 enD suB PriVate suB Winsock1_close 當下載完成時發生。 |
自己定義相關的操作
myall 是下載的網頁,你可以把它顯示在文本框中,也可把它保存為文件,也可通過一些自定義的函數進行信息的提取,限于篇幅,這里就不介紹了。
Winsock1.close 關閉 Winsock
enD suB
到此為止,相信你已了解如何在VB中通過 Winsock 控件下載文件了。本程序在 VB6.0、Win98 環境下運行正常,如果你還有什么問題,可到 WWW.D1VB.com來,我們一起討論。