日期:2011-08-01  浏览次数:20405 次

有时候,处于程序的需要,程序要求动态的从网络上更新数据,最常见的比如从数据中心下载或上传企业内部数据或者资料;有时候,想做一些类似机器人的工作,让程序自动获取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.Writ