服务器之家

服务器之家 > 正文

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

时间:2019-12-15 13:14     来源/作者:whazhl

本文实例讲述了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#程序设计有所帮助。

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部