C # HAP "eccezione System.Net.WebException: il nome remoto non può essere risolto"

c# html-agility-pack

Domanda

Ciao Sto usando questo codice per ottenere alcuni dati da 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();
    }
}

questo è il link da analizzare: 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 e sta scrivendo la seguente eccezione nel file

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();
    }
}

Ho controllato alcuni post qui. ma non è stato possibile risolvere questo problema. Come posso risolvere questo ?? Qualche suggerimento ?? Grazie in anticipo :)

Risposta accettata

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

Restituisce un oggetto node e non una string . È necessario utilizzare una delle proprietà di questo oggetto, probabilmente come qualcosa come href o link e usarlo di conseguenza.


Risposta popolare

Non stai aggiungendo una barra tra FQDN e il percorso e stai aggiungendo un HtmlAgilityPack.HtmlNodeCollection a una stringa, che non funzionerà.




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché