سلام، من از کد زیر استفاده کردم ولی گاهی که تعداد لینک ها زیاد می شه system timeout می ده. چی کار کنم که اینطوری نشه؟
void
getting(string u)
{
string html = "";
string search = "فلش";
using (WebClient webClient = new WebClient())
{
webClient.Encoding = Encoding.UTF8;
html = webClient.DownloadString(u);
}
MatchCollection matches = Regex.Matches(html,
"href[ ]*=[ ]*['|\"][^\"'\r\n]*['|\"]");
foreach (Match match in matches)
{
try
{
string value = match.Value;
value = Regex.Replace(value,
"(href[ ]*=[ ]*')|(href[ ]*=[ ]*\")", string.Empty);
if (value.EndsWith("\"") || value.EndsWith("'"))
value = value.Remove(value.Length - 1, 1);
if (!Regex.Match(value, @"\((.*)\)").Success)
{
string add = "";
if (value.Contains("http:"))
{
add = value;
}
else
{
add = u + value;
}
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(add);
request.UserAgent =
"A .NET Web Crawler";
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader reader =
new StreamReader(stream);
string htmlText = reader.ReadToEnd();
// Label1.Text += add + "<br/>";
if (htmlText.Contains(search))
{
Label1.Text +=
"<a href=\"" + add + "\">" + value + "</a><br/>";
}
}
else
{
// Label1.Text += "nop";
}
}
catch { }
}
}