ASP.NET抓取网页内容的实现方法
本文实例讲述了ASP.NET抓取网页内容的实现方法。分享给大家供大家参考。具体实现方法如下:
一、ASP.NET使用HttpWebRequest抓取网页内容
///<summary>方法一:比较推荐
///用HttpWebRequest取得网页源码
///对于带BOM的网页很有效,不管是什么编码都能正确识别
///</summary>
///<paramname="url">网页地址"</param>
///<returns>返回网页源文件</returns>
publicstaticstringGetHtmlSource2(stringurl)
{
//处理内容
stringhtml="";
HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(url);
request.Accept="*/*";//接受任意文件
request.UserAgent="Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.2;.NETCLR1.1.4322)";//
request.AllowAutoRedirect=true;//是否允许302
//request.CookieContainer=newCookieContainer();//cookie容器,
request.Referer=url;//当前页面的引用
HttpWebResponseresponse=(HttpWebResponse)request.GetResponse();
Streamstream=response.GetResponseStream();
StreamReaderreader=newStreamReader(stream,Encoding.Default);
html=reader.ReadToEnd();
stream.Close();
returnhtml;
}
二、ASP.NET使用WebResponse抓取网页内容
publicstaticstringGetHttpData2(stringUrl)
{
stringsException=null;
stringsRslt=null;
WebResponseoWebRps=null;
WebRequestoWebRqst=WebRequest.Create(Url);
oWebRqst.Timeout=50000;
try
{
oWebRps=oWebRqst.GetResponse();
}
catch(WebExceptione)
{
sException=e.Message.ToString();
}
catch(Exceptione)
{
sException=e.ToString();
}
finally
{
if(oWebRps!=null)
{
StreamReaderoStreamRd=newStreamReader(oWebRps.GetResponseStream(),Encoding.GetEncoding("utf-8"));
sRslt=oStreamRd.ReadToEnd();
oStreamRd.Close();
oWebRps.Close();
}
}
returnsRslt;
}
希望本文所述对大家的C#程序设计有所帮助。