您的位置:首页 > 产品设计 > UI/UE

利用WebClient和WebRequest类获得网页源代码

2007-03-09 00:02 661 查看
利用.NET框架提供的 WebClient类 和 WebRequest类,我们可以很轻易地得到给定URL地址的源代码,很简单,以下是C#的完整的例子
GetPageHtml.aspx


using System;


using System.Collections;


using System.ComponentModel;


using System.Data;


using System.Drawing;


using System.Web;


using System.Web.SessionState;


using System.Web.UI;


using System.Web.UI.WebControls;


using System.Web.UI.HtmlControls;




namespace Lion.Web.Forum




......{




/**//**//**//// <summary>


/// WebForm1 的摘要说明。


/// </summary>


public class WebForm1 : System.Web.UI.Page




......{


protected System.Web.UI.WebControls.TextBox TextBox1;


protected System.Web.UI.WebControls.Button Button1;


protected System.Web.UI.WebControls.Button Button2;


protected System.Web.UI.WebControls.TextBox UrlText;


protected System.Web.UI.WebControls.TextBox ContentHtml;


protected System.Web.UI.WebControls.TextBox TextBox2;






Web 窗体设计器生成的代码Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码


override protected void OnInit(EventArgs e)




......{


//


// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。


//


InitializeComponent();


base.OnInit(e);


}






/**//**//**//// <summary>


/// 设计器支持所需的方法 - 不要使用代码编辑器修改


/// 此方法的内容。


/// </summary>


private void InitializeComponent()




......{


this.Button1.Click += new System.EventHandler(this.Button1_Click);


this.Button2.Click += new System.EventHandler(this.Button2_Click);




}


#endregion




private void Button1_Click(object sender, System.EventArgs e)




......{


string PageUrl = UrlText.Text;


System.Net.WebClient wc = new System.Net.WebClient();


wc.Credentials = System.Net.CredentialCache.DefaultCredentials;






/**//**//**////方法一:


Byte[] pageData = wc.DownloadData(PageUrl);


ContentHtml.Text = System.Text.Encoding.Default.GetString(pageData);






/**//**//**//// 方法二:


/// ***************代码开始**********


/// Stream resStream = wc.OpenRead(PageUrl);


/// StreamReader sr = new StreamReader(resStream,System.Text.Encoding.Default);


/// ContentHtml.Text = sr.ReadToEnd();


/// resStream.Close();


/// **************代码结束********


///


wc.Dispose();




}




private void Button2_Click(object sender, System.EventArgs e)




......{


string PageUrl = UrlText.Text;


//WebRequest 表示一个网络请求,包含诸如 RequestURI、Headers、Credentials 和 ContentType 等属性。


//WebRequest 上的主要方法有 GetRequestStream、GetResponse 。GetRequestStream 用于获取流以便将数据上载到服务器。GetResponse 用于获取服务器返回的响应对象。


//WebResponse 表示从处理该请求的服务器接收回的响应。其关键属性有 ContentLength、ContentType、headers、ResponseURI 和 Status。


//WebResponse 上最常用的方法是 GetResponseStream,它用于从服务器读取(下载)数据。


System.Net.WebRequest request = System.Net.WebRequest.Create(PageUrl);


System.Net.WebResponse response = request.GetResponse();


System.IO.Stream resStream = response.GetResponseStream();


System.IO.StreamReader sr = new System.IO.StreamReader(resStream, System.Text.Encoding.Default);


ContentHtml.Text = sr.ReadToEnd();


resStream.Close();


sr.Close();




}


}


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: