我是C#的新手,正在研究从Web抓取URL的窗口应用程序。 应用程序需要Internet连接才能从Internet收集URL。 问题是当没有互联网连接时发生,并且应用程序显示这种类型的错误。

System.dll中发生了类型为'System.Net.WebException'的未处理异常。其他信息:无法解析远程名称:'www.google.com'

问题是我写的是告诉用户的那段代码,没有互联网连接。 而不是显示这种类型的错误。 这是我正在处理的代码。

listBox1.Items.Clear();

StringBuilder sb = new StringBuilder();

byte[] ResultsBuffer = new byte[8192];

string SearchResults = "http://www.google.com/search?num=1000&q=" + txtKeyWords.Text.Trim();

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(SearchResults);

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

Stream resStream = response.GetResponseStream();

string tempString = null;

int count = 0;

do

{

count = resStream.Read(ResultsBuffer, 0, ResultsBuffer.Length);

if (count != 0)

{

tempString = Encoding.ASCII.GetString(ResultsBuffer, 0, count);

sb.Append(tempString);

}

}

while (count > 0);

string sbb = sb.ToString();

HtmlAgilityPack.HtmlDocument html = new HtmlAgilityPack.HtmlDocument();

html.OptionOutputAsXml = true;

html.LoadHtml(sbb);

HtmlNode doc = html.DocumentNode;

foreach (HtmlNode link in doc.SelectNodes("//a[@href]"))

{

//HtmlAttribute att = link.Attributes["href"];

string hrefValue = link.GetAttributeValue("href", string.Empty);

if (!hrefValue.ToString().ToUpper().Contains("GOOGLE") && hrefValue.ToString().Contains("/url?q=") && hrefValue.ToString().ToUpper().Contains("HTTP://"))

{

int index = hrefValue.IndexOf("&");

if (index > 0)

{

hrefValue = hrefValue.Substring(0, index);

listBox1.Items.Add(hrefValue.Replace("/url?q=", ""));

}

}

}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐