ASP.NET抓取網頁內容的實現方法_實用技巧

來源:互聯網
上載者:User

本文執行個體講述了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#程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.