2011-12-22 118 views
1

嗨我使用此代碼從ebay獲取一些數據。C#HAP「System.Net.WebException:遠程名稱無法解析」異常

string url = textBox1.Text; 
get_all_link(url); 
private void get_all_link(string url) 
{ 
    var webGet = new HtmlWeb(); 

    try 
    { 
     var document = webGet.Load(url); 

     MessageBox.Show(url); 
     var metaTags = document.DocumentNode.SelectNodes("//div[@class='ttl']/a"); 
     if (metaTags != null) 
     { 
      foreach (var tag in metaTags) 
      { 
       string link = tag.Attributes["href"].Value; 
       links.Add(link); 
      } 
     } 

     var next = document.DocumentNode.SelectNodes("//td[@class='botpg-next']/a"); 
     if (next != null) 
     { 
      string link = "http://www.ebay.com" + next; 
      get_all_link(link); 
     } 
     else return; 
    } 
    catch (Exception f) 
    { 
     MessageBox.Show(f.ToString()); 

     TextWriter tw = new StreamWriter("data.txt"); 
     tw.WriteLine(f.ToString()); 
     tw.Close(); 
    } 
} 

這是要分析的鏈接:http://www.ebay.com/sch/i.html?_nkw=gruen+-sara+-quartz+-embassy+-bob+-robert+-elephants+-adidas&_sacat=0&LH_Auction=1&_dmpt=Wristwatches&_odkw=gruen+-sara+-quartz+-embassy+-bob+-robert+-elephants+-adidas&_osacat=1&_trksid=p3286.c0.m270.l1313,它的寫了以下異常文件

System.Net.WebException: The remote name could not be resolved: 'www.ebay.comhtmlagilitypack.htmlnodecollection' 
at System.Net.HttpWebRequest.GetResponse() 
at HtmlAgilityPack.HtmlWeb.Get(Uri uri, String method, String path, HtmlDocument doc, IWebProxy proxy, ICredentials creds) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlWeb.cs:line 1446 
at HtmlAgilityPack.HtmlWeb.LoadUrl(Uri uri, String method, WebProxy proxy, NetworkCredential creds) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlWeb.cs:line 1563 
at HtmlAgilityPack.HtmlWeb.Load(String url, String method) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlWeb.cs:line 1152 
at HtmlAgilityPack.HtmlWeb.Load(String url) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlWeb.cs:line 1107 
at BackgroundWorker.Form1.get_all_link(String url) in C:\Documents and Settings\maruf\My Documents\Visual Studio 2008\Projects\BackgroundWorker\BackgroundWorker\Form1.cs:line 86 

我在這裏查了一些帖子。但無法解決這個問題。我該如何解決這個問題?任何建議?在此先感謝:)

回答

1
var next = document.DocumentNode.SelectNodes("//td[@class='botpg-next']/a"); 

返回node對象,而不是string。您需要使用此對象的其中一個屬性,可能是hreflink,並相應地使用此屬性。

+0

謝謝。現在工作正常:) – qmaruf 2011-12-22 10:02:39

0

您不是在FQDN和路徑之間添加斜槓,而是將一個HtmlAgilityPack.HtmlNodeCollection添加到字符串,這將不起作用。

相關問題