首页  ·  知识 ·  编程语言
利用WebClient和WebRequest类获得网页源代码
佚名  http://blog.sjzj.com.cn/  .NET  编辑:dezai  图片来源:网络
利用.net框架提供的WebClient类和WebRequest类,我们可以很轻易地得到给定URL地址的源代码,很简单,以下是C#的完整的例子.&nb
利用.net框架提供的 WebClient类 和 WebRequest类,我们可以很轻易地得到给定URL地址的源代码,很简单,以下是C#的完整的例子. 
   
   
  查看例子 
   
   
  GetPageHtml.ASPx 
   
   
  <%@ Page language="c#" validateRequest = "false" Codebehind="GetPageHtml.aspx.cs" 
  AutoEventWireup="false" Inherits="eMeng.Exam.GetPageHtml" %> 
   
   
   
  得到网页源代码 
   
   
   
  http://schemas.microsoft.com/intellisense/ie5"> 
   
   
   
  得到任意网页源代码
 
  http://dotnet.aspx.cc/content.aspx 
   
   
   
  
 
   
   
   
   
   
   
   
  GetPageHtml.aspx.cs 
   
   
  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; 
  using System.IO; 
  using System.Net; 
  using System.Text; 
   
   
  namespace eMeng.Exam 
  { 
  ///  
  /// GetPageHtml 的摘要说明。 
  /// 
 
  public class GetPageHtml : System.Web.UI.Page 
  { 
  protected System.Web.UI.WebControls.Button WebClientButton; 
  protected System.Web.UI.WebControls.Button WebRequestButton; 
  protected System.Web.UI.WebControls.TextBox ContentHtml; 
  protected System.Web.UI.WebControls.TextBox UrlText; 
  private string PageUrl = ""; 
   
  private void Page_Load(object sender, System.EventArgs e) 
  {} 
   
   
  #region Web Form Designer generated code 
  override protected void OnInit(EventArgs e) 
  { 
  InitializeComponent(); 
  base.OnInit(e); 
  } 
   
   
  ///  
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改 
  /// 此方法的内容。 
  /// 
 
  private void InitializeComponent() 
  { 
  this.WebClientButton.Click += new System.EventHandler(this.WebClientButton_Click); 
  this.WebRequestButton.Click += new System.EventHandler(this.WebRequestButton_Click); 
  this.Load += new System.EventHandler(this.Page_Load); 
  } 
  #endregion 
   
  private void WebClientButton_Click(object sender, System.EventArgs e) 
  { 
  PageUrl = UrlText.Text; 
  WebClient wc = new WebClient(); 
  wc.Credentials = CredentialCache.DefaultCredentials; 
   
   
  ///方法一: 
  Byte[] pageData = wc.DownloadData(PageUrl); 
  ContentHtml.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 WebRequestButton_Click(object sender, System.EventArgs e) 
  { 
  PageUrl = UrlText.Text; 
  WebRequest request = WebRequest.Create(PageUrl); 
  WebResponse response = request.GetResponse(); 
  Stream resStream = response.GetResponseStream(); 
  StreamReader sr = new StreamReader(resStream, System.Text.Encoding.Default); 
  ContentHtml.Text = sr.ReadToEnd(); 
  resStream.Close(); 
  sr.Close(); 
  } 
  } 
  }  
本文作者:佚名 来源:http://blog.sjzj.com.cn/
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读