最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net HttpWebRequest自動識別網(wǎng)頁編碼

 更新時間:2008年09月10日 01:04:55   作者:  
HttpWebRequest獲取網(wǎng)頁源代碼時自動識別網(wǎng)頁編碼,通過讀取頁面中的charset和讀取http頭中的編碼信息獲取頁面的編碼,基本可以正確獲取網(wǎng)頁編碼

復(fù)制代碼 代碼如下:

static string GetEncoding(string url)
{
HttpWebRequest request = null;
HttpWebResponse response = null;
StreamReader reader = null;
try
{
request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = 20000;
request.AllowAutoRedirect = false;

response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK && response.ContentLength < 1024 * 1024)
{
if (response.ContentEncoding != null && response.ContentEncoding.Equals("gzip", StringComparison.InvariantCultureIgnoreCase))
reader = new StreamReader(new GZipStream(response.GetResponseStream(), CompressionMode.Decompress));
else
reader = new StreamReader(response.GetResponseStream(), Encoding.ASCII);

string html = reader.ReadToEnd();

Regex reg_charset = new Regex(@"charset\b\s*=\s*(?<charset>[^""]*)");
if (reg_charset.IsMatch(html))
{
return reg_charset.Match(html).Groups["charset"].Value;
}
else if (response.CharacterSet != string.Empty)
{
return response.CharacterSet;
}
else
return Encoding.Default.BodyName;
}
}
catch
{
}
finally
{

if (response != null)
{
response.Close();
response = null;
}
if (reader != null)
reader.Close();

if (request != null)
request = null;

}

return Encoding.Default.BodyName;
}

/// <summary>
/// 獲取源代碼
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
static string GetHtml(string url, Encoding encoding)
{
HttpWebRequest request = null;
HttpWebResponse response = null;
StreamReader reader = null;
try
{
request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = 20000;
request.AllowAutoRedirect = false;

response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK && response.ContentLength < 1024 * 1024)
{
if (response.ContentEncoding != null && response.ContentEncoding.Equals("gzip", StringComparison.InvariantCultureIgnoreCase))
reader = new StreamReader(new GZipStream(response.GetResponseStream(), CompressionMode.Decompress), encoding);
else
reader = new StreamReader(response.GetResponseStream(), encoding);
string html = reader.ReadToEnd();

return html;
}
}
catch
{
}
finally
{

if (response != null)
{
response.Close();
response = null;
}
if (reader != null)
reader.Close();

if (request != null)
request = null;

}

return string.Empty;
}

相關(guān)文章

  • GridView中動態(tài)設(shè)置CommandField是否可用或可見的小例子

    GridView中動態(tài)設(shè)置CommandField是否可用或可見的小例子

    GridView中動態(tài)設(shè)置CommandField是否可用或可見的小例子,需要的朋友可以參考一下
    2013-05-05
  • ASP.NET Core使用GraphQL第二章之中間件

    ASP.NET Core使用GraphQL第二章之中間件

    這篇文章主要給大家介紹了關(guān)于ASP.NET Core使用GraphQL第二章之中間件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • asp.net中js和jquery調(diào)用ashx的不同方法分享

    asp.net中js和jquery調(diào)用ashx的不同方法分享

    asp.net中js和jquery調(diào)用ashx的不同方法分享,需要的朋友可以參考一下
    2013-06-06
  • GridView中checkbox"全選/取消"完美兼容IE和Firefox

    GridView中checkbox"全選/取消"完美兼容IE和Firefox

    GridView中checkbox的的"全選/取消"使用還是比較頻繁的,本文有個不錯的示例完美兼容IE和Firefox,感興趣的朋友可以參考下,希望對大家有所幫助
    2013-10-10
  • ADO.NET防SQL注入與使用參數(shù)增刪改查

    ADO.NET防SQL注入與使用參數(shù)增刪改查

    這篇文章介紹了ADO.NET防SQL注入與使用參數(shù)實現(xiàn)增刪改查的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • NET 彈出頁面窗口選擇返回值

    NET 彈出頁面窗口選擇返回值

    在網(wǎng)頁中 點(diǎn)擊一個按鈕 彈出一個頁面窗口,選擇彈出頁面窗口的值,關(guān)閉窗口,界面得到值
    2014-03-03
  • C#中常用的IO操作介紹

    C#中常用的IO操作介紹

    這篇文章介紹了C#中常用的IO操作,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Visual Studio 2019 使用 Live Share的教程圖解

    Visual Studio 2019 使用 Live Share的教程圖解

    Visual Studio 2019 在今天發(fā)布(北京時間)了,這次帶來了一個比較有趣的 Live Share 功能,使用它可以進(jìn)行更好的協(xié)作開發(fā)。這篇文章主要介紹了Visual Studio 2019 使用 Live Share的教程,需要的朋友可以參考下
    2019-04-04
  • .Net彈性和瞬態(tài)故障處理庫Polly實現(xiàn)彈性策略

    .Net彈性和瞬態(tài)故障處理庫Polly實現(xiàn)彈性策略

    這篇文章介紹了.Net彈性和瞬態(tài)故障處理庫Polly實現(xiàn)彈性策略的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • ASP.NET之自定義異步HTTP處理程序(圖文教程)

    ASP.NET之自定義異步HTTP處理程序(圖文教程)

    前面我們學(xué)習(xí)了關(guān)于關(guān)于自定義同步HTTP處理程序,相信大家可能感覺有所成就,但是這種同步的機(jī)制只能對付客戶訪問較少的情況或者數(shù)據(jù)處理量不大的情況,而今天這篇文章就是解決同步HTTP處理程序的這個致命缺點(diǎn),有效的使用服務(wù)器的資源
    2013-01-01

最新評論

兰西县| 保靖县| 临汾市| 将乐县| 民权县| 宁德市| 调兵山市| 全椒县| 石首市| 灵山县| 濮阳市| 瑞安市| 射阳县| 正定县| 广南县| 黄平县| 石阡县| 汨罗市| 鄂托克旗| 岐山县| 万盛区| 远安县| 二连浩特市| 万宁市| 曲沃县| 韶山市| 林芝县| 台前县| 耿马| 项城市| 巨鹿县| 铜梁县| 邢台县| 东平县| 儋州市| 教育| 宁安市| 平昌县| 岐山县| 石嘴山市| 江西省|