C # htmlagility pack, capturer rediriger

c# html-agility-pack

Question

Salut à tous, celui-ci est vraiment simple (j'espère). J'utilise htmlagility pack pour faire mon exploration Web. Alors que se passe-t-il si je saisis une URL quelconque, qui me dirige ensuite vers une nouvelle URL, comment puis-je capturer cette nouvelle URL redirigée?

Si le pack htmlagility n'a pas de solution, quelqu'un peut-il suggérer une autre méthode?

Réponse acceptée

Lorsque vous créez votre HttpWebRequest, vous pouvez définir la propriété AllowAutoRedirect sur true. Les redirections que vous avez automatiquement suivies.

HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.contoso.com");  
myHttpWebRequest.MaximumAutomaticRedirections=1;
myHttpWebRequest.AllowAutoRedirect=true;
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse(); 

vous pouvez trouver plus d'informations à msdn


Réponse populaire

À l'aide de la classe HtmlWeb fournie avec le pack Agility Html, vous pouvez modifier la demande avant qu'elle ne soit réellement exécutée, comme suit:

    HtmlWeb web = new HtmlWeb();
    web.PreRequest = OnPreRequest;
    HtmlDocument doc = web.Load("http://wwwblablahh.com");


private static bool OnPreRequest(HttpWebRequest request)
{
    request.AllowAutoRedirect = true;
    return true;
}



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