ASP.NET抓取网页内容的实现方法
2015-02-10来源:易贤网

这篇文章主要介绍了ASP.NET抓取网页内容的实现方法,涉及使用HttpWebRequest及WebResponse抓取网页内容的技巧,需要的朋友可以参考下

代码如下:

代码如下:

本文实例讲述了ASP.NET抓取网页内容的实现方法。分享给大家供大家参考。具体实现方法如下:

一、ASP.NET 使用HttpWebRequest抓取网页内容

代码如下:

/// <summary>方法一:比较推荐

/// 用HttpWebRequest取得网页源码

/// 对于带BOM的网页很有效,不管是什么编码都能正确识别

/// </summary>

/// <param name="url">网页地址" </param>

/// <returns>返回网页源文件</returns>

public static string GetHtmlSource2(string url)

{

//处理内容

string html = "";

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

request.Accept = "*/*"; //接受任意文件

request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)"; //

request.AllowAutoRedirect = true;//是否允许302

//request.CookieContainer = new CookieContainer();//cookie容器,

request.Referer = url; //当前页面的引用

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

Stream stream = response.GetResponseStream();

StreamReader reader = new StreamReader(stream, Encoding.Default);

html = reader.ReadToEnd();

stream.Close();

return html;

}

代码如下:

二、ASP.NET 使用 WebResponse 抓取网页内容

代码如下:

public static string GetHttpData2(string Url)

{

string sException = null;

string sRslt = null;

WebResponse oWebRps = null;

WebRequest oWebRqst = WebRequest.Create(Url);

oWebRqst.Timeout = 50000;

try

{

oWebRps = oWebRqst.GetResponse();

}

catch (WebException e)

{

sException = e.Message.ToString();

}

catch (Exception e)

{

sException = e.ToString();

}

finally

{

if (oWebRps != null)

{

StreamReader oStreamRd = new StreamReader(oWebRps.GetResponseStream(), Encoding.GetEncoding("utf-8"));

sRslt = oStreamRd.ReadToEnd();

oStreamRd.Close();

oWebRps.Close();

}

}

return sRslt;

}

代码如下:

希望本文所述对大家的C#程序设计有所帮助。

更多信息请查看IT技术专栏

2026公务员·事业单位培训课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
推荐信息