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

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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

作者:孟宪会 出自:【孟宪会之精彩世界】 发布日期:2004年1月9日 9点24分42秒

利用.NET框架提供的 WebClient类 和 WebRequest类,我们可以很轻易地得到给定URL地址的源代码,很简单,以下是C#的完整的例子.

查看例子

GetPageHtml.aspx

得到网页源代码

得到任意网页源代码

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();

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航