linux – ¿Cómo obtener un archivo con el nombre correcto cuando se redirige?

Pregunta:

Entonces, después de un tiempo de búsqueda en Google y Super User (y escanear páginas de manual) no pude encontrar una respuesta a algo que (creo) debería ser simple:

Si vienes aquí:

http://www.vim.org/scripts/script.php?script_id=2340

E intenta descargar el tema:

http://www.vim.org/scripts/download_script.php?src_id=9750

Al igual que:

wget http://www.vim.org/scripts/download_script.php?src_id=9750

Probablemente terminará con un archivo llamado download_script.php?src_id=9750 .

Pero quiero que se llame molokai.vim , que es lo que sucedería si usara un navegador para descargar este archivo.

¿Qué opciones debo especificar para wget para obtener el efecto deseado?

También estaría bien con un comando equivalente a Curl.

Respuesta:

-O file
--output-document=file
   

Los documentos no se escribirán en los archivos correspondientes, pero todos se concatenarán y se escribirán en el archivo. Si - se utiliza como archivo, los documentos se imprimen en la salida estándar, la desactivación de la conversión del enlace. (Utilice ./- para imprimir en un archivo literalmente llamado -. )

Entonces,

wget -O somefile.extension 'http://www.vim.org/scripts/download_script.php?src_id=9750'

O puede hacer que wget use automáticamente el nombre de archivo propuesto por el servidor usando la opción --content-disposition si es compatible con su versión.

wget --content-disposition 'http://www.vim.org/scripts/download_script.php?src_id=9750'

Advertencias según la página del manual ,

--content-disposition

Si está activado, se habilita la compatibilidad experimental (no completamente funcional) para los encabezados "Content-Disposition". Actualmente, esto puede resultar en viajes de ida y vuelta adicionales al servidor para una solicitud "HEAD", y se sabe que sufre algunos errores, por lo que actualmente no está habilitado de forma predeterminada.

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

Puede lograr el mismo comportamiento automatizado con curl , usando,

curl -JLO 'http://www.vim.org/scripts/download_script.php?src_id=9750'

-O usa el nombre remoto, y -J fuerza a -O a obtener ese nombre del encabezado de disposición de contenido en lugar de la URL, y -L sigue las redirecciones si es necesario.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım