Estoy tratando de reflejar un sitio, pero el enlace CSS tiene la URL: http://127.0.0.1:2368/assets/css/screen.css?v=c44dc08367
El uso de wget para descargar el sitio guarda el archivo CSS con el nombre del archivo screen.css?v=c44dc08367
Intenté usar --adjust-extension
flag pero eso guarda el archivo como screen.css?v=c44dc08367.css
¿Es posible guardarlo de la manera correcta como screen.css
usando wget?
Estoy usando GNU Wget 1.14 basado en darwin12.5.0.
EDITAR: No puedo especificar el nombre del archivo ya que estoy reflejando todo el sitio, por lo que el comando real es así. El enlace CSS está dentro de la página (que wget obtiene automáticamente)
wget \
--recursive \ # follow links to download entire site
--page-requisites \ # grab everything: css / inlined images
--no-parent \ # don't go to parent level
--directory-prefix static \# download contents to static/ folder
--no-host-directories \ # don't create domain named folder
--adjust-extension \
http://127.0.0.1:2368/
Respuestas:
Desafortunadamente, wget no hará suposiciones sobre lo que desea descargar a menos que se lo indique. No le importa si su archivo es una imagen, un documento, un archivo comprimido, etc.
El archivo se guarda como el URL con el que terminó, por lo que desde la última barra hasta el final del URL. En su caso, eso es .css? V = c44dc08367. La parte posterior a la extensión de archivo real (.css) está contenida en la URL, pero es un parámetro de consulta HTTP. Para wget, sin embargo, determinará el nombre del archivo de salida.
Si desea especificar un nombre de archivo de salida para wget, agregue la opción -O (mayúscula O):
wget http://127.0.0.1:2368/assets/css/screen.css?v=c44dc08367 -O screen.css
Finalmente, está la opción --content-disposition que puede resultar en el establecimiento del nombre de archivo apropiado. Pero esto depende completamente del servidor que está descargando para enviar la información correcta del encabezado.
Excepciones a partir de aquí: ¿Por qué wget'ing una imagen me da un archivo, no una imagen?
fuente