【摘 要】目前,網絡資源下載主要利用了一些第三方工具進行下載,這些工具有很強的商業(yè)目的,有的工具又集成在瀏覽器中。本文闡述利用C#技術,開發(fā)一款簡單實現的網絡資源下載工具。
【關鍵詞】C# 網絡資源 下載 WebRequest WebResponse WebClient
終端用戶根據網絡資源地址,向遠程的網絡資源服務器進行資源下載請求,遠程網絡資源服務器得到終端用戶請求后,向終端用戶明確資源是否可以下載,終端用戶根據網絡資源服務器端的響應后,決定是否進行資源的下載。
分析完網絡資源下載的工作原理后,先進行網絡資源工具的界面設計。首先準備好開發(fā)工具,這里以Visual Studio 2010作為開發(fā)工具。打開開發(fā)工具VS2010,創(chuàng)建一個Window應用程序,添加一個Window窗體,界面設計如圖2網絡資源下載界面。
界面設計完畢后,開始進行功能實現,功能實現分為網絡資源地址分析、客戶端向服務器發(fā)出資源請求、服務器端進行響應、客戶端進行資源下載和資源下載保存等五個部分。用戶只要在圖2中的文本框中輸入有效的網絡資源下載地址,點擊“下載”按鈕,即可執(zhí)行資源下載。
分析有效的網絡資源下載的地址后,客戶端根據有效的網絡資源地址向服務器進行網絡資源請求,資源請求是通過C#中的WebRequest的Create方法創(chuàng)建一個請求對象,如果能夠創(chuàng)建成功,說明請求建立,否則表示請求失敗,可以通過 WebRequest wr = WebRequest.Create(txtPath.Text)代碼實現。
根據客戶端發(fā)出的有效請求對象,獲取服務端的對客戶端作出的響應,如何獲取服務器端的響應呢?這里特別注意,服務器端的響應是基于客戶端創(chuàng)建的請求對象wr基礎之上。利用C#中的WebResponse獲取響應。即:wr.GetResponse()即可獲取響應,該方法返回WebResponse類型,如果不為空,說明網絡資源可以下載,否則不允許下載??梢酝ㄟ^WebResponse wrp = wr.GetResponse()代碼實現。
至此,一個完整了的網絡資源下載工具開發(fā)已經完成,在開發(fā)的過程中,主要用到了WebRequest、WebResponse、WebClient和FileStream等四種相關技術完成。這款工具功能簡單、使用。讀者如果有興趣,可以在這個基礎上進行功能擴充,如:顯現下載進度及下載時間,將下載應用到其他項目中等。