C # htmlagility pack, catturando redirct

c# html-agility-pack

Domanda

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?

Risposta accettata

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


Risposta popolare

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



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é