C # htmlagility pack, capturando redirct

c# html-agility-pack

Pregunta

Hola a todos, este es realmente simple (espero). Estoy usando htmlagility pack para hacer mi webcrawling. Entonces, ¿qué sucede si ingreso url en cualquier lugar, que luego me dirige a una nueva url, cómo capturo esa nueva URL redirigida?

Si htmlagility pack no tiene forma, ¿puede alguien sugerir otro método?

Respuesta aceptada

Al crear su HttpWebRequest, puede establecer la propiedad AllowAutoRedirect en true y seguirá automáticamente cualquier redirección que tenga.

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

Puedes encontrar más información en msdn


Respuesta popular

Usando la clase HtmlWeb que viene con el paquete de agilidad Html, puedes modificar la solicitud antes de que se ejecute realmente, de esta manera:

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



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué