vb.net下載資料

來源:互聯網
上載者:User
資料|下載 有時候,處於程式的需要,程式要求動態從網路上更新資料,最常見的比如從資料中心下載或上傳企業內部資料或者資料;有時候,想做一些類似機器人的工作,讓程式自動擷取IntraNet亦或InterNet上的資源,可能是新聞、圖片、以及你想得到的……這個時候就需要編一些小程式。      今天我主要介紹一下在.NET中如何擷取網路上的資料,當然可以是區域網路,甚至Local 檔案系統。利用WebClient類,易如反掌! 關於 WebClient        在MSDN中,這樣描述WebClient類:       “提供向 URI 標識的資源發送資料和從 URI 標識的資源接收資料的公用方法”,  預設情況下,.NET 架構支援以 http:、https: 和 file: 方案標識符開頭的 URI。是不是封裝了很多我們想要實現的過程?呵呵。看一下它的主要成員: 
成員 類型 描述
BaseURI 屬性 當前的URL地址
DownloadData 方法 從一個URI下載資料,以位元組數組的形式返回
DownloadFile 方法 從一個URI下載資料,儲存為本地檔案
OpenRead 方法 以流的形式開啟並執行讀操作
OpenWrite 方法 開啟一個流用於向URI寫資料
UploadData 方法 向URI上傳資料
UploadFile 方法 把一個本地檔案上傳到制定URI
UploadValues 方法 NameValueCollection 發送到資源並返回包含任何響應的位元組數組
 具體看一下如何 下載檔案或資料:WebClient提供了大概三種方式從網上下載資料:1.  DownloadData從資源下載資料並返回位元組數組。
              Public Function DownloadData( ByVal address As String ) As Byte()
接受一個參數,address是從中下載資料的 URI。注意返回的是一個位元組數組,我在以前的文章中提到過很多次,我們可以很簡單的轉換為我們需要的格式。
       看一個代碼:
       Dim wc As New System.Net.WebClient() ‘跟網路相關的類一般都在System.Net下
Dim html As String = Encoding.ASCII.GetString(wc.DownloadData("http:www.csdn.net"))
Debug.WriteLine(html)
你就會得到很長的一個String,實際上就是CSDN第一頁的原始碼。 2.       DownloadFile        從具有指定 URI 的資源將資料下載到本地檔案
Public Sub DownloadFile( ByVal address As String, ByVal fileName As String )
       address :從中下載資料的 URI。 FileName :要接收資料的本地檔案的名稱。
使用也很簡單:
        Dim wc As New System.Net.WebClient()
wc.DownloadFile("/XrssFile/2006-12/26/2006122602354452.gif")
成功運行後,本地機的C:\會多出一個小圖片,就是VS.NET 4CD的廣告。
3.  OpenRead為從具有指定 URI 的資源下載的資料開啟一個可讀的流。Public Function OpenRead(ByVal address As String ) As Stream參數address 從中下載資料的 URI。 流的概念熟悉嗎?不熟的話看一下我以前的文章吧,很基本的操作都有。下面的樣本開啟由 uriString 標識的資源並將結果顯示在系統控制台上。請注意,由 OpenRead 返回的 Stream 在讀取完資料之後將被關閉。
 
Dim myWebClient As New System.Net.WebClient()
Dim uriString As String="http://www.csdn.net"
Console.WriteLine("Accessing {0} ...", uriString)
Dim myStream As Stream = myWebClient.OpenRead(uriString)
Console.WriteLine(ControlChars.Cr + "Displaying Data :" + ControlChars.Cr)
Dim sr As New StreamReader(myStream)
Console.WriteLine(sr.ReadToEnd())
myStream.Close()
 


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。