|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
呵呵,那你就关注微软的招聘信息以及别人的招聘经验啊,还有也不一定去做技术的,你如果真的想去就多了解了解。(其实我的意思是说想到微软做技术是很不容易的。网高低载和上传数据(二)Montaque(原作)
上一次先容了WebClient的一些下载和上传数据的办法,明天侧重看一下WebRequest和WebResponse两种我们会见Internet经常使用的类,严厉说,WebRequest是一个笼统基类,我们一样平常用它的衍生类HttpWebRequest和FileWebRequest,FTP的会见必要手动注册,详细看前面的拔出协定。
从逻辑角度上讲,Netclasses包括三个层:哀求/呼应层、使用协定层和传输层,顺次睁开,从使用程序到收集。WebRequest和WebResponse类代表哀求/呼应层。HTTP、TCP和UDP类构成了使用协定层,而套接字存在于传输层中。WebRequest/WebResponse和HTTP能够在System.Net称号空间中找到,而TCP/UDP和套接字则处在System.Net.Sockets称号空间中,包含也经常使用的UDPClient、TCPCLient。
WebRequest和WebResponse(哀求/呼应模子)
哀求/呼应模子位于顶部,供应一种复杂的体例会见Web上的资本。WebRequest是.NET框架的用于会见Internet数据的哀求/呼应模子的笼统基类。利用该哀求/呼应模子的使用程序能够用协定不成知的体例从Internet哀求数据,甚么意义?就是协定细。
这两品种供应了一种会见网上资本的一样平常体例。WebRequest暗示一个收集哀求,包括诸如RequestURI、Headers、Credentials和ContentType等属性。WebRequest上的次要办法有GetRequestStream、GetResponse和它们的异步办法Begin/EndGetRequestStream和Begin/EndGetResponse。GetRequestStream用于猎取流以便将数据上载到服务器。GetResponse用于猎取服务器前往的呼应工具。WebResponse暗示从处置该哀求的服务器吸收回的呼应。其关头属性有ContentLength、ContentType、headers、ResponseURI和Status。WebResponse上最经常使用的办法是GetResponseStream,它用于从服务器读取(下载)数据。
当对WebRequest.GetResponse举行挪用时,一般收回实践的收集哀求。
这个示例显现怎样猎取一个Web页并将其内容输入:
DimurlAsNewUri("http://www.yahoo.com")‘界说一个URI
DimReqAsWebRequest
Req=WebRequest.Create(url)
DimRespAsWebResponse
Try
Resp=Req.GetResponse‘取得一个呼应
CatchexcAsException
MsgBox(exc.Message)
EndTry
DimnetStreamAsStreamReader
netStream=NewStreamReader(Resp.GetResponseStream)
Debug.WriteLine(netStream.ReadToEnd)
固然,下面的例子只是一个复杂的操纵,能够前往一个流式的数据。上面充实发掘一下它们的上风(与WebClient比拟)。
可拔出协定
当某个使用程序仅仅利用WebRequest和WebResponse类时,无需修正使用程序的任何代码就能够“拔出”和利用新的协定。注册一个带WebRequestFactory的URI形式在程序的延续工夫内拔出协定撑持。注册是经由过程挪用WebRequestFactory.Register()办法完成的。关于HTTP协定,这类办法是从外部挪用的,因而它被默许注册;只管云云,在未来能够完成和注册恣意数量的其他协定。固然,因为Internet上的协定数目伟大,这类模子并非对一切的情形都幻想。那些“饶舌”的或别的排挤哀求/呼应模子的协定大概会在TCP或UDP类中更好地实行,大概在某些情形下会在Sockets类中更好地实行。有关HTTP方面的操纵我们可使用HttpWebRequest。
上面申明几个详细成绩:
1.程序分块
当使用程序必要发送或吸收数据,而数据的正确巨细鄙人载/上载入手下手时还未知时,程序分块是有效的。当基于其他使用程序或服务器逻辑正在创立所会商的数据时,利用程序分块手艺是最广泛的。要发送分块的数据,应当将WebRequest转换为HttpWebRequest而且将HttpWebRequest.SendChunked的属性设置为TRUE。假如间接用HttpWebRequest天然就免了:)
2.HTTP管道手艺
管道手艺是HTTP1.1的一项功效,它同意Netclasses经由过程耐久性毗连向后端服务器发送多个HTTP哀求,而无需在收回下次哀求之前守候来自服务器的呼应。这会明显影响功能,由于从服务器哀求多个资本的使用程序不会被堵塞而守候某个特定资本(多是服务器上一个十分耗时的操纵,如数据库查找)。
3.身份考证
Netclasses撑持各类客户机身份考证机制,包含“择要”、“基础”、Kerberos、NTLM和“定制”。身份考证是经由过程在作出哀求前对WebRequest.Credentials工具举行设置来到达的。在“择要”和“基础”情形下,会指定用户名和口令。关于NTLM或Kerberos,则利用Windows平安机制,而且Credential工具大概能够被设置为用户名、口令和域的分离,大概能够哀求利用体系默许值。
4.代办署理撑持
在Netclasses中的HTTP代办署理撑持能够在每一个哀求的基本长进行把持,大概能够一次全局性地设置它,用于使用程序的保存期。如许仿佛就能够考证Proxy是否是收费;)
总结:
概述了一下会见Internet的别的一种办法,WebresponseWebRequest,和接纳它的一些上风。详细例子和图解参考:http://www.microsoft.com/china/msdn/library/techart/pdc_websvc.ASP很不错的一篇文章。
<
[img=1border=0style=,1src=]http://www.ckuyun.com/[/img]
数据挖掘有点高深的,主要估计就是使用一些算法提取一些实用的数据。学好数据挖掘的话可以应聘baidu或者google,但是一般人家对算法的要求听高的。你最好还是学点应用型的吧。这种主要是研究型的。 |
|