Descarga de respuesta de WebResponse - ¿Imágenes incluidas?
-
27-10-2019 - |
Pregunta
Estoy tratando de descargar HTML para poder analizarlo usando el ancho de banda mínimo para descargar. Este es un poco de mi código.
if (!String.IsNullOrEmpty(siteAddress))
webReq = WebRequest.Create(siteAddress)
WebResponse webRes = webReq.GetResponse();
Stream streamResponse = webRes.GetResponseStream();
StreamReader streamRead = new StreamReader(streamResponse);
StringReader sr = new StringReader(streamRead.ReadToEnd().Trim());
streamResponse.Close();
streamRead.Close();
webRes.Close();
HtmlAgilityPack.HtmlDocument hDoc = new HtmlAgilityPack.HtmlDocument();
hDoc.Load(sr);
¿Alguien puede confirmar que recuperar la respuesta solo proporciona la respuesta del texto, y también no se descargan imágenes? ¿Qué pasa al cargarlo con el método htmlagilitypack?
Solución
Cuando usas WebClient
, WebRequest
o HtmlAgilityPack
Es solo el html descargarás.
Si desea las imágenes (u otros recursos), debe buscar las URL de la imagen en el documento descargado y emitir solicitudes para obtenerlas.
Si quieres experimentar un poco, el WebBrowser
El control podría ser algo para mirar. De eso, podrías tomar el Document
propiedad y mirar su propiedad Images
y descargue todas las imágenes usted mismo.
¿Qué es lo que quieres hacer?
Otros consejos
Descarga la fuente HTML del sitio, no todo el sitio. Eso es una gran diferencia.
Ver cómo usar Paquete de agilidad HTML y también Éste