c# "System.Net.web异常:无法解析远程名称"例外

本文关键字:quot 例外 程名 Net System web 异常 | 更新日期: 2023-09-27 18:18:30

嗨,我正在使用这个代码从ebay获取一些数据。

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

我在这里检查了一些帖子。但无法解决这个问题。我怎么解决这个问题??有什么建议吗??提前感谢:)

c# "System.Net.web异常:无法解析远程名称"例外

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

返回node对象而不是string对象。您需要使用该对象的一个属性,可能是hreflink之类的东西,并相应地使用它。

您没有在FQDN和路径之间添加斜杠,并且您正在向字符串添加HtmlAgilityPack.HtmlNodeCollection,这将不起作用。