当前位置: 代码迷 >> ASP.NET >> |zyciis| 三种取网页的HTML源码的 哪一种效率最好 多谢 各有什么区别 多谢
  详细解决方案

|zyciis| 三种取网页的HTML源码的 哪一种效率最好 多谢 各有什么区别 多谢

热度:8050   发布时间:2013-02-25 00:00:00.0
|zyciis| 三种取网页的HTML源码的 哪一种效率最好 谢谢 各有什么区别 谢谢
得到HTML代码 
//取得输入的URL地址 
PageUrl = UrlText.Text; 
WebClient wc = new WebClient(); 
//把已登录的用户或正被模拟的用户的用户凭据赋给用于对向Internet资源的请求进行身份验证的网络凭据 
wc.Credentials = CredentialCache.DefaultCredentials; 

///方法一: 
///从指定的URI下载数据 
Byte[] pageData = wc.DownloadData(PageUrl); 
//把下载到的字符型数组数据转换成字符串类型 
ContentHtml.Text = Encoding.Default.GetString(pageData); 

/// 方法二 
//为指定的URI打开一个可读的数据流,并定义一个该流的引用 
/// Stream resStream = wc.OpenRead(PageUrl); 
/// 根据上面定义的数据流,以默认编码的方式定义一个读数据流 
/// StreamReader sr = new StreamReader(resStream,System.Text.Encoding.Default); 
/// 读取数据流中的内容 
/// ContentHtml.Text = sr.ReadToEnd(); 
/// //关闭数据流 
/// resStream.Close(); 
/// 
//释放资源 
wc.Dispose(); 

使用WebRequest得到 
PageUrl = UrlText.Text; 
//根据指定的UR建立WEB请求 
WebRequest request = WebRequest.Create(PageUrl); 
//定义对上面WEB请求的反应 
WebResponse response = request.GetResponse(); 
//取得WEB响应的数据流 
Stream resStream = response.GetResponseStream(); 
//根据上面定义的数据流,以默认编码的方式定义一个读数据流 
StreamReader sr = new StreamReader(resStream, System.Text.Encoding.Default); 
// 读取数据流中的内容 
ContentHtml.Text = sr.ReadToEnd(); 
//关闭数据流 
resStream.Close(); 
//关闭读数据流并释放资源 
sr.Close();


------解决方案--------------------------------------------------------
不知道,学习下
------解决方案--------------------------------------------------------
应该是差别不大的。
WebClient 类实际上是使用 WebRequest 类提供对资源的访问。

HttpWebRequest 类提供了更多的方法,属性供调用者进行控制
------解决方案--------------------------------------------------------
都一样。最快的用AJAX吧

------解决方案--------------------------------------------------------
http://blog.csdn.net/jiang_jiajia10/archive/2008/11/25/3368568.aspx
------解决方案--------------------------------------------------------
http://blog.csdn.net/jiang_jiajia10/archive/2008/11/18/3325407.aspx
------解决方案--------------------------------------------------------
哇。这帖子叼哇,引来这么多高手,俩钻,强悍
  相关解决方案