Para que sirve using en c#

La instrucción using:

using(var disposableObject = new object_that_implements_IDisposable()) { ... }

es una construcción usada para ahorra código al usar una estructura que implemente IDisposable cómo esta:

var disposableObject = new object_that_implements_IDisposable()
try
{
    ...
}
finally
{
    if(disposableObject != null)
    {
        ((IDisposable)your_object).Dispose();
    }
}

Esta instrucción sólo tiene sentido para declarar objetos que implementen el interfaz IDisposable

Referenciausing (Instrucción, Referencia de C#)

Descargar carpeta WEB completa con CURL

Introducción

Supongamos que queremos descargar un contenido WEB. Por ejemplo, en la siguiente imagen vemos un caso real de unos XML modelo publicados por la administración pública (pero podría ser una página HTML con sus imágenes, etc.):

Solución

La forma de hacerlo usando wget sería:

wget --no-parent -r http[s]://dominio.com/ruta/directorio/descargar

Con esto, se crea una carpeta con el nombre del dominio y la estructura de carpetas publicadas en el servidor y todos los documentos referendo los enlaces disponibles desde la ruta indicada.

NOTA: Para poder usar WGET con SSL (https) leer mi post anterior.

Instalar WGET en Windows

Introducción

WGET es una de esas herramientas prácticamente indispensables para muchos desarrolladores (o incluso usuarios). Al igual que CURL nos facilita la vida con respecto a trabajar con el protocolo HTTP WGET es genial para obtener recursos vía HTTP.

Cuidado GniWin WGET no tiene soporte para SSL!! Esta compilación para Windows (https://sourceforge.net/projects/gnuwin32/files/wget/) ha sido un gran aliado durante muchos años pero no soporta SSL y por desgracia no nos será de ayuda trabajando con HTTPS.

En su lugar podemos descargar (https://eternallybored.org/misc/wget/) esta versión con total soporte a OpenSSL 1.1.1a.

Elegimos la última versión y la arquitectura x32 o x64 (hoy en día, 64 bits lo más probable). A remarcar el soporte SSL, ZLIB (para peticiones comprimidas), etc.

Espero que sea de ayuda!