Heim  >  Artikel  >  Backend-Entwicklung  >  Regulärer Ausdruck zum Filtern von HTML in C#

Regulärer Ausdruck zum Filtern von HTML in C#

高洛峰
高洛峰Original
2017-01-13 17:23:451293Durchsuche

Das Beispiel in diesem Artikel beschreibt die Methode zum Herunterladen des HTML-Quellcodes einer Webseite in C#. Teilen Sie es als Referenz mit allen. Die spezifische Methode lautet wie folgt:

public static class DownLoad_HTML
{
private static int FailCount = 0; //记录下载失败的次数
 
public static string GetHtml(string url) //传入要下载的网址
{
string str = string.Empty;
try
{
System.Net.WebRequest request = System.Net.WebRequest.Create(url);
request.Timeout = 10000; //下载超时时间
request.Headers.Set("Pragma", "no-cache");
System.Net.WebResponse response = request.GetResponse();
System.IO.Stream streamReceive = response.GetResponseStream();
Encoding encoding = Encoding.GetEncoding("gb2312");//utf-8 网页文字编码
System.IO.StreamReader streamReader = new System.IO.StreamReader(streamReceive, encoding);
str = streamReader.ReadToEnd();
streamReader.Close();
}
catch (Exception ex)
{
FailCount++;
 
if (FailCount > 5)
{
var result = 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);
throw ex;
}
}
else
{
str = GetHtml(url);
}
}
 
FailCount = 0; //如果能执行到这一步就表示下载终于成功了
return str;
}

Ich hoffe, dieser Artikel wird für die C#-Programmierung aller hilfreich sein.

Weitere Artikel zu regulären Ausdrücken zum Filtern von HTML in C# finden Sie unter die chinesische PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn