Estoy tratando de descargar un archivo de sourceforge usando wget, pero como todos sabemos, tenemos que hacer clic en el botón de descarga y luego esperar a que se descargue automáticamente. ¿Cómo se descarga este tipo de archivo con wget?
Estoy tratando de descargar esto: http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/bitcoin-0.8.1-linux.tar.gz/download
Pero hacer un wget en ese enlace de URL no me daría el archivo ya que el archivo se carga automáticamente a través del navegador.
wget --trust-server-names URL
Respuestas:
No estoy seguro de qué versión
wget
o sistema operativo y cualquier proxy existen entre usted y sourceforge, perowget
descargué el archivo cuando eliminé "/ download" y lo dejé en la extensión del archivo.No quiero inundar la publicación o pegar toda mi sesión, pero obtuve los códigos de estado 302 y luego 200 antes de que comenzara la transferencia. ¿Qué pasa cuando lo intentas
wget
?fuente
Sugeriría usar
curl
para hacer esto en lugar dewget
. Se puede seguir la redirección utilizando los interruptores-L
,-J
y-O
.cambiar definiciones
Vea la página del manual de curl para más detalles.
fuente
wget
puede seguir redireccionamientos, pero no lo hace a menos que aumente--max-redirect
el valor predeterminado, que por razones de seguridad es, por supuesto, 0.wget
El valor predeterminado de 1.19.2 es--max-redirect=20
que debería ser lo suficientemente bueno para la mayoría de los usos. No estoy seguro de cuándo cambió ... o por qué eso era necesario para la seguridad (¡cita requerida!), Pero supongo que la solución preferida actual era seguir las redirecciones y, en cambio, exigir--trust-server-names
que se mantenga el nombre proporcionado por un objetivo de redirección en lugar de " descargue "o" index.html? blah = barg "o lo que sea que use la URL proporcionada.curl -JLO http://www.example.com/file.ext
En
wget
puede usar--content-disposition
la opción de que es útil para algunos programas CGI de archivos a descargar de que el uso de cabeceras "Content-Disposition" para describir lo que debe ser el nombre de un archivo descargado.Por ejemplo:
Para soluciones más complejas (como autorización requerida), use el archivo cookie (
--load-cookies file
) para simular su sesión.fuente