GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué wget'ing una imagen me da un archivo, no una imagen?

¿Por qué wget elegir este nombre?

Desafortunadamente, wget no hará suposiciones sobre lo que desea descargar a menos que se lo indique. No importa si su archivo es una imagen, un documento, un archivo comprimido, etcétera.

El archivo se guarda como el final de la URL, es decir, desde la última barra inclinada hasta el final de la URL. En tu caso, eso es .gif?id=2 . La parte después de la extensión real del archivo (.gif ) está contenido en la URL, pero es un parámetro de consulta HTTP. Para wget , sin embargo, determinará el nombre del archivo de salida.

¿Cómo puedo establecer un nombre de archivo diferente?

Si desea especificar un nombre de archivo de salida para wget , agrega el -O (O mayúscula) opción:

wget example.com/something.gif?id=2 -O 2.gif

Esto anulará el comportamiento predeterminado y establecerá el nombre de archivo en 2.gif . Tenga en cuenta que el -o (minúsculas) La opción especifica el nombre del archivo de salida para cualquier mensaje de registro wget de lo contrario, podría imprimir en el shell.

Finalmente, está el --content-disposition opción que podría dar como resultado que se establezca el nombre de archivo adecuado. Pero esto depende completamente del servidor que está descargando para enviar la información de encabezado correcta:

Esta opción es útil para algunos programas CGI de descarga de archivos que usan encabezados de disposición de contenido para describir cuál debe ser el nombre de un archivo descargado.

Actualmente, la opción todavía está marcada como experimental y, por lo tanto, no está habilitada de forma predeterminada.

Le recomiendo encarecidamente que lea la página de manual de las herramientas que está utilizando para comprender su comportamiento. Solo ingresa man wget y léalo, especialmente las opciones que ofrece.

Además, para abordar lo que @Indrek escribió en el comentario sobre su pregunta:supongo que tiene un error tipográfico allí y no tiene la intención de descargar un archivo GIF en un archivo llamado .png — solo cambiar la extensión no convertirlo automáticamente en un PNG. GIF y PNG usan codificaciones diferentes y tendrá que usar cualquier tipo de herramienta de conversión de imágenes para convertir entre estos formatos. Sin embargo, esta conversión no tendrá pérdidas, por lo que no hay ningún problema en descargar los archivos en el formato "incorrecto" y convertirlos más tarde.


Existe la opción de línea de comando --content-disposition lo cual, si el sitio web proporciona un encabezado correcto, debería hacer que su archivo se guarde con el nombre correcto.

Sin embargo, mi caja de compresión de Debian dice que la opción es "experimental"...


Esto es simplemente porque mire la ruta, termina en ?id=2, por lo tanto, se guardará así, puede mover el archivo o usar el parámetro -O para definir un nombre de archivo.


Linux
  1. El archivo de metadatos no coincide con la suma de verificación:¡error YUM!

  2. ¿Por qué `md5sum` no da el mismo hash que Internet?

  3. ¿Por qué la siguiente manera no cambia el tamaño límite del archivo principal?

  4. ¿Por qué no puedo dividir un archivo .ape?

  5. ¿Por qué `exit &` no funciona?

¿Cómo solicito un archivo pero no lo guardo con Wget?

¿Por qué Windows no reconoce los archivos dentro de las particiones de Linux?

¿Por qué 'dd' no funciona para crear un USB de arranque?

¿Por qué yum updateinfo no muestra todas las actualizaciones?

¿Por qué Bash no da tal archivo o directorio para un programa que está en mi RUTA?

¿Por qué chmod +w no da permiso de escritura a otro(o)?