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#程序设计有所帮助。