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#程序设计有所帮助