¿Cómo puedo obtener la fuente HTML dada una dirección web en C#?¿Cómo puedo descargar código fuente HTML en C#
Respuesta
Puede descargar archivos con el WebClient class:
using System.Net;
//...
using (WebClient client = new WebClient()) // WebClient class inherits IDisposable
{
client.DownloadFile("http://yoursite.com/page.html", @"C:\localfile.html");
// Or you can get the file content without saving it:
string htmlCode = client.DownloadString("http://yoursite.com/page.html");
//...
}
básicamente:
using System.Net;
using System.Net.Http; // in LINQPad, also add a reference to System.Net.Http.dll
WebRequest req = HttpWebRequest.Create("http://google.com");
req.Method = "GET";
string source;
using (StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream()))
{
source = reader.ReadToEnd();
}
Console.WriteLine(source);
manera "CMS" es la más reciente, se sugiere en la página web ms
pero tuve un problema difícil de resolver, ancho ambos método publicado aquí
ahora publico solu ¡para todos!
problema: si utiliza una URL como esta: "www.somesite.it/?p=1500" en algunos casos se produce un error interno del servidor (500) aunque en este navegador web "www. somesite.it/?p=1500 "funciona perfectamente.
solución: tiene que salir parámetros (sí es fácil), el código de trabajo es:
using System.Net;
//...
using (WebClient client = new WebClient())
{
client.QueryString.Add("p", "1500"); //add parameters
string htmlCode = client.DownloadString("www.somesite.it");
//...
}
aquí la documentación oficial: http://msdn.microsoft.com/en-us/library/system.net.webclient.querystring.aspx
lo puede conseguir con:
var html = new System.Net.WebClient().DownloadString(siteUrl)
¡Corto y dulce! Encontré tu sugerencia después de leer el ejemplo de Joe Albahari. LINQPad> Ayuda> Novedades y búsqueda de caché. – Colin
var html = new System.Net.WebClient(). DownloadString (siteUrl); // necesito actualizar tu cliente! – user1328350
¿Eso 'Dispose' the' WebClient'? –
Esta publicación es muy antigua (tiene 7 años cuando estoy respondiéndole), entonces ninguna de las otras soluciones usó la nueva y recomendada manera, que es la clase HttpClient
.
HttpClient
se considera nueva API y debe reemplazar el anterior WebClient
y WebRequest
string url = "page url";
using (HttpClient client = new HttpClient())
{
using (HttpResponseMessage response = client.GetAsync(url).Result)
{
using (HttpContent content = response.Content)
{
string result = content.ReadAsStringAsync().Result;
}
}
}
para obtener más información sobre cómo utilizar la clase HttpClient
(especialmente en los casos asincrónicos), puede hacer referencia this question
- 1. código de Google descargar fuente
- 2. ¿Cómo resaltar el código fuente en HTML?
- 3. ¿Dónde puedo descargar el código fuente de "OpenGL"?
- 4. ¿Dónde puedo descargar código fuente de MySQL Connector/J
- 5. ¿Cómo descargar el código fuente con Pacman en Arch Linux?
- 6. donde descargar el código fuente del muelle?
- 7. ¿Cómo puedo obtener el código fuente HTML de TWebBrowser
- 8. Descargar código fuente específico de Android
- 9. Descargar YouTube con Ruby (código fuente)
- 10. ¿Dónde puedo descargar el código fuente a la Biblioteca Estándar GNU C++?
- 11. Descargar el código fuente del sitio web de Apple
- 12. Descargar js generado html con C#
- 13. Descargar html en python?
- 14. ¿Cómo puedo refactorizar el código fuente de C++ usando emacs?
- 15. php: Obtener código fuente html con cURL
- 16. eliminar comentarios del código fuente html
- 17. Usando Tortoise SVN, ¿cómo puedo descargar la última versión del código fuente de mi aplicación CodePlex?
- 18. Descargar el código fuente de la aplicación GAE implementada
- 19. C# .net código fuente
- 20. C++ código fuente de vector
- 21. Cómo cifrar la salida del código fuente HTML usando PHP
- 22. ¿Cómo puedo indexar nuestro código fuente interno?
- 23. ¿Cómo puedo indexar mi código fuente?
- 24. ¿Cómo descargar un javascript de un html?
- 25. Cómo obtener código fuente html desde la URL externa
- 26. Obtener código fuente HTML como una cadena
- 27. Python Web Crawlers y "obtener" código fuente html
- 28. Código fuente SHA-512 en C
- 29. ¿Cómo descargar/descargar un proyecto de Google Code en Windows?
- 30. Código fuente de la biblioteca C
Debe tener en cuenta: si se necesita más control, mire la clase HttpWebRequest (por ejemplo, puede especificar la autenticación). – Richard
Sí, HttpWebRequest le brinda más control, aunque puede realizar solicitudes POST con WebClient, utilizando client.UploadData (uriString, "POST", postParamsByteArray); – CMS
¿No sería prudente detectar WebException al respecto? Tal vez eso fue asumido. Cualquier otra excepción o error debe ser capturado con este método? –