Downloader para Windows

El siguiente programa lo he desarrollado tomando como referencia un script para la shell de Linux que se encuentra en la sección de Bash Scripting y su misión es buscar una solución al problema de disponer de un gestor de descargas no interactivo y automático; la única diferencia en este caso con respecto al anterior es que el presente ha sido ideado para funcionar en entornos windows (más bien ms-dos). Esta utilidad está programada para usarla con megaupload pero modificándola en mayor o menor medida se puede aplicar en muchas otras webs de descargas gratuitas.

 

FUNCIONAMIENTO

El manejo es muy sencillo, se deberán seguir los siguientes pasos previos:

  • Descomprimir la carpeta descargada; es muy importante que los dos ficheros que se encuentran en su interior no se separen (tendrán que estar siempre en el mismo directorio).
  • Crear un fichero de descargas, en formato .txt (que es el que genera el Bloc de notas de windows, para los que no estén muy puestos en el tema).
  • Colocar el fichero anterior en la carpeta del programa, la que descomprimimos en el primer paso.

Tras seguir los pasos anteriores accederemos a la descarga deseada de megaupload.

Después de acceder a la descarga nos encontraremos con una ventana como la siguiente:

donde deberemos introducir el código de tres letras que aparece en la imagen en mayúsculas y hacer clic en Download, saldrá una ventana como la siguiente haciendo una cuenta atrás desde 45 segundos:

Cuando finaliza la cuenta atrás ya disponemos del link de descarga, que debemos obtener haciendo clic con el botón derecho del ratón y seleccionando “Copiar la ruta del enlace” del menú que se despliega, al igual que en la imagen siguiente:

Después pegaremos el enlace en el archivo de texto que hemos creado en los pasos previos; en mi caso se llama enlaces:

Se repite la operación sucesivamente hasta que tengamos tantos enlaces en el archivo de texto como queramos descargar (creo que megaupload tiene un límite por IP en un periodo de tiempo determinado).

Ahora sólo queda el último paso, ejecutar el programa e introducir el nombre del fichero de enlaces; el proceso se muestra en las dos imágenes a continuación:

Los ficheros descargados van a parar a la misma carpeta del programa, desde donde podremos moverlos para clasificarlos a nuestro antojo.

La razón por la cual puede resultar útil el programa es porque existen numerosas webs donde no se permite que un mismo usuario (identificado de forma unívoca con una misma dirección ip) descargue más de un fichero de forma simultánea, es por ello que los gestores de descargas “convencionales” no nos pueden ayudar en unos casos; y aunque nos puedan ayudar en otros, sería como matar una mosca a cañonazos.

Los ficheros para descargar se pueden encontrar aquí:

 

CÓDIGO FUENTE

#include 
#include 

void main()
   {
   // Variables
   char nom_file[20]; // Nombre del fichero
   char link[100]; // Contendrá en cada momento el link a descargar
   char cadena[150]; // Llamada completa que se usará para cada descarga

   // Pido al usuario el nombre del archivo donde se encuentra la información
   cout << " Introduzca el nombre del fichero de texto: ";
   cin >> nom_file;

   // Abro el flujo de entrada de un fichero
   fstream fichero;
   fichero.open(nom_file);

   // Guardo la llamada a wget que será siempre la misma
   // "col" Contiene la llamada a wget que será siempre la misma
   char col[26] = "wget -p -nH --cut-dirs=2 ";

   while(fichero.eof() != true)
      {
      // Primero vacío la cadena principal
      for(int i = 0; i < 150; i++)
         cadena[i] = '\0';
         
      fichero.getline(link, 100);
      strcat(cadena, col);
      strcat(cadena, link);
      system(cadena);
      }

   // Cierro el flujo de entrada
   fichero.close();

   system("pause");
   }
	

 

vidalmb_admin – Lun, 21/08/2006 – 20:02