庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>WEB开发>ASP.NET>开发实例>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

对象与像素的选择

 作者:本站收集   日期:2005-3-17
字号选择〖 〗/ 双击滚屏 单击停止   


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

上传数据
有下载必然有上传,同样对应的WebClient也有很多中上传数据的方法,除了跟上面对应的UploadData、UploadFile、OpenWrite外还有一种UploadValues,UploadValues将NameValueCollection 发送到资源并返回包含任何响应的字节数组,可以用于那些有表单的网页。
例子就不写了,MSDN中ms-help://MS.VSCC/MS.MSDNVS.2052/cpref/html/frlrfsystemnetwebclientclasstopic.htm都有详细的介绍,在此不再赘述。

总结:
简单介绍了WebClient的主要方法和应用,实际上WebClient可以完成一些比较简单的操作,试想,如果服务器要求我们输入密码和用户名才能访问怎么办?或者其他的编程细节要处理?那就是我们下次介绍的WebRequest 和 WebResponse。

上一篇:一个SDK里做聊天室的例子    下一篇:网上下载和上传数据(二)  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-3-17
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿