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?
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
À 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;
}