C # HAP "exception System.Net.WebException: le nom distant n'a pas pu être résolu"

c# html-agility-pack

Question

Salut, je me sers de ce code pour obtenir des données sur 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();
    }
}

c'est le lien à analyser: http://www.ebay.com/sch/i.html?_nkw=gruen+-sara+-quartz+-embassy+-bob+-robert+-elephants+-adidas&_sacat=0&LH_Auction=1&_dmpt=Wristwatches sara + -quartz + -embassy + -bob + -robert + -elephants + -adidas & _osacat = 1 & _trksid = p3286.c0.m270.l1313 et écrit dans le fichier l'exception suivante

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

J'ai vérifié certains post ici. mais ne pouvait pas résoudre ce problème. Comment puis-je resoudre ceci ?? Toute suggestion ?? Merci d'avance :)

Réponse acceptée

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

Retourne un objet node et non une string . Vous devez utiliser l’une des propriétés de cet objet, susceptible d’être quelque chose comme href ou link et l’utiliser en conséquence.


Réponse populaire

Vous n'ajoutez pas de barre oblique entre le nom de domaine complet (FQDN) et le chemin d'accès, mais vous ajoutez HtmlAgilityPack.HtmlNodeCollection à une chaîne, ce qui ne fonctionnera pas.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi