您的位置:首页 > 编程语言 > ASP

ASP.NET抓取网页内容的实现方法

2015-02-04 00:00 946 查看
本文实例讲述了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#程序设计有所帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: