用asp.net c# HttpWebRequest获取网页源代码

2008-4-25 17:35:20 作者:iuhxq 人气:
标签:asp.net(151) c#(168)

该方法需要传递目标网页的编码方式,比如System.Text.Encoding.Default或者System.Text.Encoding.UTF8

如果哪位高手知道如何自动判断目标页面的编码格式,请在评论中告知。谢谢!

/// <summary>
/// 获取源代码
/// </summary>
/// <param name="url"></param>
/// <param name="encoding"></param>
/// <returns></returns>
public static string GetPage(string url, Encoding encoding)
{
HttpWebRequest request
= null;
HttpWebResponse response
= null;
StreamReader reader
= null;
try
{
request
= (HttpWebRequest)WebRequest.Create(url);
request.UserAgent
= "www.svnhost.cn";
request.Timeout
= 20000;
request.AllowAutoRedirect
= false;

response
= (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK && response.ContentLength < 1024 * 1024)
{
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;
}
使用协议 - VIP服务 - 在线支付 - 联系我们 - 帮助文档 - Bug Report - 书签服务 - 联系电话:15079690152