Dado un URL, ¿cuál sería el código más eficiente para descargar los contenidos de esa página web? Solo estoy considerando el HTML, las imágenes no asociadas, JS y CSS.Código C más rápido para descargar una página web
48
A
Respuesta
56
public static void DownloadFile(string remoteFilename, string localFilename)
{
WebClient client = new WebClient();
client.DownloadFile(remoteFilename, localFilename);
}
23
De MSDN:
using System;
using System.Net;
using System.IO;
public class Test
{
public static void Main (string[] args)
{
if (args == null || args.Length == 0)
{
throw new ApplicationException ("Specify the URI of the resource to retrieve.");
}
WebClient client = new WebClient();
// Add a user agent header in case the
// requested URI contains a query.
client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
Stream data = client.OpenRead (args[0]);
StreamReader reader = new StreamReader (data);
string s = reader.ReadToEnd();
Console.WriteLine (s);
data.Close();
reader.Close();
}
}
+5
deseo de MSDN en realidad disponer de los recursos IDisposable en sus ejemplos. Una pequeña excepción y el Stream/StreamReader no se limpiará. 'using' es tu amigo. –
22
Utilice la clase WebClient de System.Net; en .NET 2.0 y superior.
WebClient Client = new WebClient();
Client.DownloadFile("http://mysite.com/myfile.txt", " C:\myfile.txt");
4
aquí está mi respuesta, un método que toma una URL y devolver una cadena
public static string downloadWebPage(string theURL)
{
//### download a web page to a string
WebClient client = new WebClient();
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
Stream data = client.OpenRead(theURL);
StreamReader reader = new StreamReader(data);
string s = reader.ReadToEnd();
return s;
}
3
public static void DownloadString (string address)
{
WebClient client = new WebClient();
string reply = client.DownloadString (address);
Console.WriteLine (reply);
}
Cuestiones relacionadas
- 1. Cómo descargar una página web en php
- 2. ¿Se ejecuta el código C más rápido?
- 3. descargar una copia local de trabajo de una página web
- 4. ¿Ruby on Rails es MUCHO más rápido para desarrollar código?
- 5. Descargar CSS de la página web
- 6. Llamar a una página web desde C# en el código
- 7. descargar un sitio web completo en C#
- 8. Fugas de memoria Javascript después de descargar una página web
- 9. C# TPL más rápido que C++ PPL?
- 10. ¿El código es más rápido que el código en línea?
- 11. Navegar por una gran base de código Python más rápido
- 12. Página AJAX Descargar progreso
- 13. Descargar applet de java de la página web
- 14. Reemplazo más rápido para Regex
- 15. ¿C++/CLI es más rápido que C#
- 16. gama más rápido para el bucle (C++ 11)
- 17. Cythonize una función de Python para hacerlo más rápido
- 18. Contenedor más rápido de C++: valores únicos
- 19. C# API para crear una miniatura de la página web
- 20. Cómo trabajar con el agente de usuario para descargar una página web usando Wget
- 21. ¿Cómo recuperar una página web con C#?
- 22. Algo más rápido que HttpHandlers?
- 23. ¿Dónde puedo descargar la documentación de Django? página web
- 24. Método más rápido para invertir en cadena en C# .net
- 25. Lenguaje más rápido para los bucles FOR
- 26. Envase de cola más rápido (C++)
- 27. El lector/escritor JSON más rápido para C++
- 28. cuando es Java más rápido que C++ (o cuando JIT es más rápido que precompilado)?
- 29. ¿Es el código de C# más rápido que el código de Visual Basic.NET?
- 30. Izquierda JOIN más rápido o Inner Join más rápido?
¡Este es el más lento! La creación de un nuevo WebClient tiene una demora de 3-5 antes de que realmente la descarga haya escuchado debido a la verificación del soporte de proxy. Recomendaría usar un enfoque de Socket para descargar, ya que es la solución más rápida posible. – SSpoke
Interpreté el modo más rápido como "con el menor número posible de letras de código". –