Script que descarga archivos sin Wget ni Curl.
Con el script bash que vemos en este articulo, podrás descargar cualquier archivo o pagina web completa sin tener que usar wget o curl.
Tal vez pienses que es una tontería de script, que para descargar lo que quieres ya tienes wget. Si realmente lo crees, yo te contradigo y ademas te lo argumento, pues no hay nada más fácil que evitar… que descarguen un archivo o una web completa con wget o curl.
Tan simple como una linea en .htaccess:
RewriteCond %{HTTP_USER_AGENT} (libwww-perl|curl|wget|python) [NC,OR]
Vemos el script bash que descarga archivos sin wget ni curl.
Script bash que descarga archivos
Creamos el script con nuestro editor preferido, en este caso “nano“.
nano script-descargas.sh
Copia y pega el código siguiente.
#!/bin/bash if [ "$1" == "" ] then echo "usage: $0 URL" exit 0 fi HOST=`echo $1 | sed 's/http\:\/\///' | sed -r 's/([^/])\/(.*)/\1/'` FILENAME=`echo "$1" | sed -r 's/(.*)\/(.*)/\2/'` PATH=`echo "$1" | sed 's/http\:\/\///' | sed -r "s/$HOST//" | sed "s/$FILENAME//"` PORT=80 HEADERS="HTTP/1.1\r\nHost: $HOST\r\nConnection: close\r\nContent-Length: 0\r\n\r\n" F="/tmp/dlfile" exec 3<>/dev/tcp/$HOST/$PORT echo -e "GET $PATH$FILENAME $HEADERS" >&3 /bin/cat <&3 > $F /usr/bin/tail $F -n +$((`/bin/sed $F -e '/^\r$/q' | /usr/bin/wc -l`+1)) > $FILENAME /bin/rm $F
Una vez pegado el código, guarda y cierra el editor.
Le concedemos los permisos correspondientes.
Para descargar un archivo o un sitio web, debes ejecutar el script seguido de la url (separados por un “.“.
bash script-descargas.sh.http://midominio.es/miarchivo.txt
ejemplo…
bash script-descargas.sh.http://es.tinypic.com/view.php?pic=ms15s1&s=9#.Wvq2lnVfhpg
Espero te resulte útil (recuerda que no es ético descargar webs completas sin permiso del propietario).