• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 對象與像素的選擇

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    有時候,處于程序的需要,程序要求動態的從 網絡 上更新數據,最常見的比如從數據中心下載或上傳企業內部數據或者資料;有時候,想做一些類似機器人的工作,讓程序自動獲取IntraNet亦或InterNet上的資源,可能是新聞、圖片、以及你想得到的……這個時候就需


    有時候,處于程序的需要,程序要求動態的從網絡上更新數據,最常見的比如從數據中心下載或上傳企業內部數據或者資料;有時候,想做一些類似機器人的工作,讓程序自動獲取IntraNet亦或InterNet上的資源,可能是新聞、圖片、以及你想得到的……這個時候就需要編一些小程序。

    今天我主要介紹一下在.NET中如何獲取網絡上的數據,當然可以是局域網,甚至Local 文件系統。利用WebClient類,易如反掌!

    關于WebClient:

    在MSDN中,這樣描述WebClient類:

    “提供向 URI 標識的資源發送數據和從 URI 標識的資源接收數據的公共方法”, 默認情況下,.NET 框架支持以 http:、https: 和 file: 方案標識符開頭的 URI。是不是封裝了很多我們想要實現的過程?呵呵??匆幌滤闹饕蓡T:

    成員

    類型

    描述

    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("http://www.csdn.net/images/ad/vsnet_120.gif","c:\test.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("Aclearcase/" target="_blank" >ccessing {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()

    上傳數據
    有下載必然有上傳,同樣對應的WebClient也有很多中上傳數據的方法,除了跟上面對應的UploadData、UploadFile、OpenWrite外還有一種UploadValues,UploadValues將NameValueCollection 發送到資源并返回包含任何響應的字節數組,可以用于那些有表單的網頁。
    例子就不寫了,MSDN中ms-help://MS.VSCC/MS.MSDNVS.2052/cpref/html/frlrfsystemnetwebclientclasstopic.htm都有詳細的介紹,在此不再贅述。

    總結:
    簡單介紹了WebClient的主要方法和應用,實際上WebClient可以完成一些比較簡單的操作,試想,如果服務器要求我們輸入密碼和用戶名才能訪問怎么辦?或者其他的編程細節要處理?那就是我們下次介紹的WebRequest 和 WebResponse。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>