仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1016|回复: 9
打印 上一主题 下一主题

[学习教程] ASP.NET教程之网高低载和上传数据(一) Montaque(原作...

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:50:21 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
c语言的编译器,几乎是所有新平台都有的。因此从这点上看,c语言的程序,比其他任何语言更加容易跨平台。网高低载和上传数据(一)Montaque(原作)

偶然候,处于程序的必要,程序请求静态的从收集上更新数据,最多见的好比从数据中央下载或上传企业外部数据大概材料;偶然候,想做一些相似呆板人的事情,让程序主动猎取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

从资本下载数据并前往字节数组。

PublicFunctionDownloadData(ByValaddressAsString)AsByte()
承受一个参数,address是从中下载数据的URI。注重前往的是一个字节数组,我在之前的文章中提到过良多次,我们能够很复杂的转换为我们必要的格局。
看一个代码:
DimwcAsNewSystem.Net.WebClient()‘跟收集相干的类一样平常都在System.Net下
DimhtmlAsString=Encoding.ASCII.GetString(wc.DownloadData("http:www.csdn.net"))
Debug.WriteLine(html)
你就会失掉很长的一个String,实践上就是CSDN第一页的源代码。

2.

DownloadFile

从具有指定URI的资本将数据下载到当地文件

PublicSubDownloadFile(ByValaddressAsString,ByValfileNameAsString)
address:从中下载数据的URI。

FileName:要吸收数据的当地文件的称号。

利用也很复杂:
DimwcAsNewSystem.Net.WebClient()
wc.DownloadFile("http://www.csdn.net/images/ad/vsnet_120.gif","c:        est.gif")
乐成运转后,当地机的C:会多出一个小图片,就是VS.NET4CD的告白。

3.OpenRead

为从具有指定URI的资本下载的数据翻开一个可读的流。

PublicFunctionOpenRead(ByValaddressAsString)AsStream

参数

address从中下载数据的URI。

流的观点熟习吗?不熟的话看一下我之前的文章吧,很基础的操纵都有。

上面的示例翻开由uriString标识的资本并将了局显现在体系把持台上。请注重,由OpenRead前往的Stream在读取完数据以后将被封闭。


DimmyWebClientAsNewSystem.Net.WebClient()
DimuriStringAsString="http://www.csdn.net"
Console.WriteLine("Accessing{0}...",uriString)
DimmyStreamAsStream=myWebClient.OpenRead(uriString)
Console.WriteLine(ControlChars.Cr+"DisplayingData:"+ControlChars.Cr)
DimsrAsNewStreamReader(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。
<
[img=1border=0style=,1src=]http://www.ckuyun.com/[/img]

可怜的程序员,还是逃不出移植的命运!
山那边是海 该用户已被删除
沙发
 楼主| 发表于 2015-2-13 22:57:00 | 显示全部楼层
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-20 00:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表