Ciao a tutti, questo è davvero semplice (spero). Sto usando il pacchetto htmlagility per fare il mio webcrawling. Quindi cosa succede se inserisco l'url qualunque, che poi mi indirizza a un nuovo URL, come faccio a catturare quel nuovo URL reindirizzato?
Se il pacchetto htmlagility non ha un modo, qualcuno può suggerire un altro metodo?
Quando crei la tua HttpWebRequest puoi impostare la proprietà AllowAutoRedirect
su true e seguirà automaticamente tutti i reindirizzamenti che hai.
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.contoso.com");
myHttpWebRequest.MaximumAutomaticRedirections=1;
myHttpWebRequest.AllowAutoRedirect=true;
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
puoi trovare maggiori informazioni su msdn
Utilizzando la classe HtmlWeb fornita con il pacchetto agilità Html, puoi modificare la richiesta prima che venga effettivamente eseguita, in questo modo:
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;
}