我正在尝试创建一个程序,它可以对与任何指定的谷歌搜索相关的结果数量进行排序。我需要一张非常快的大桌子,所以我考虑使用循环。每次我尝试它时,调试器都会由于“System.Windows.Markup.XamlParseException”而崩溃。
public long resultStat(string a)
{
var req = (HttpWebRequest)WebRequest.Create("https://www.google.ca/search?hl=fr&output=search&sclient=psy-ab&q=a" + a + "&btnK=");
using (req as IDisposable)
{
WebResponse rep = req.GetResponse();
Stream str = rep.GetResponseStream();
StreamReader rdr = new StreamReader(str);
string res = rdr.ReadToEnd();
rdr.Close();
//This is my code to get the number results (it works perfectly)
int index = res.IndexOf(">Environ");
int cond = 0;
string final = "";
try
{
while (res[++index] != '<')
{
if (cond-- == 0 && res[index] != '&')
{ final += res[index]; cond = 0; }
else if (res[index] == '&') cond = 5;
}
}
catch { return 0; }
string temp = "";
foreach (char i in final) if (i < 48 && i > 58) temp += i;
return Int64.Parse(temp);
}
}
整个方法仅在 for 循环中的 main 中使用,例如:
public void main()
{
//Other code
for (int i = 0; i < 3; i++) resultStat(i.ToString()); // For example
//Other code
}
我知道这是问题所在,因为只要我对循环发表评论,或者将其降低到一个代表,就没有任何问题。我试过了:
HttpWebRequest().Abort(); HttpWebRequest().KeepAlive = false;
它没有用