C#实现下载网页HTML源码的方法
本文实例讲述了C#实现下载网页HTML源码的方法。分享给大家供大家参考之用。具体方法如下:
publicstaticclassDownLoad_HTML
{
privatestaticintFailCount=0;//记录下载失败的次数
publicstaticstringGetHtml(stringurl)//传入要下载的网址
{
stringstr=string.Empty;
try
{
System.Net.WebRequestrequest=System.Net.WebRequest.Create(url);
request.Timeout=10000;//下载超时时间
request.Headers.Set("Pragma","no-cache");
System.Net.WebResponseresponse=request.GetResponse();
System.IO.StreamstreamReceive=response.GetResponseStream();
Encodingencoding=Encoding.GetEncoding("gb2312");//utf-8网页文字编码
System.IO.StreamReaderstreamReader=newSystem.IO.StreamReader(streamReceive,encoding);
str=streamReader.ReadToEnd();
streamReader.Close();
}
catch(Exceptionex)
{
FailCount++;
if(FailCount>5)
{
varresult=System.Windows.Forms.MessageBox.Show("已下载失败"+FailCount+"次,是否要继续尝试?"+Environment.NewLine+ex.ToString(),"数据下载异常",System.Windows.Forms.MessageBoxButtons.YesNo,System.Windows.Forms.MessageBoxIcon.Error);
if(result==System.Windows.Forms.DialogResult.Yes)
{
str=GetHtml(url);
}
else
{
System.Windows.Forms.MessageBox.Show("下载HTML失败"+Environment.NewLine+ex.ToString(),"下载HTML失败",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error);
throwex;
}
}
else
{
str=GetHtml(url);
}
}
FailCount=0;//如果能执行到这一步就表示下载终于成功了
returnstr;
}
希望本文所述对大家的C#程序设计有所帮助