Estoy intentando 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 usando wget?
Estoy intentando 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 URL no me daría el archivo ya que el archivo se carga automáticamente a través del navegador.
Respuesta1
Sugeriría usar curl
para hacer esto en lugar de wget
. Puede seguir la redirección usando los interruptores -L
, -J
y -O
.
curl -O -J -L http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/bitcoin-0.8.1-linux.tar.gz/download
cambiar definiciones
-O/--remote-name
Write output to a local file named like the remote file we get.
(Only the file part of the remote file is used, the path is cut off.)
-L/--location
(HTTP/HTTPS) If the server reports that the requested page has moved
to a different location (indicated with a Location: header and a 3XX
response code), this option will make curl redo the request on the new
place. If used together with -i/--include or -I/--head, headers from
all requested pages will be shown. When authentication is used, curl only
sends its credentials to the initial host. If a redirect takes curl to a
different host, it won't be able to intercept the user+password.
See also --location-trusted on how to change this. You can limit the
amount of redirects to follow by using the --max-redirs option.
-J/--remote-header-name
(HTTP) This option tells the -O/--remote-name option to use the
server-specified Content-Disposition filename instead of extracting a
filename from the URL.
Ver elpágina de manual de rizospara más detalles.
Respuesta2
Puede wget
usar --content-disposition
la opción que es útil para algunos programas CGI de descarga de archivos que usan encabezados "Disposición de contenido" para describir cuál debe ser el nombre de un archivo descargado.
Por ejemplo:
wget --user-agent=Mozilla --content-disposition -E -c http://example.com/
Para soluciones más complejas (como autorización requerida), utilice el archivo cookie ( --load-cookies file
) para simular su sesión.
Respuesta3
No estoy seguro de qué versión del wget
sistema operativo ni de ningún proxy existe entre usted y sourceforge, pero wget
descargué el archivo cuando eliminé "/descargar" y lo dejé en la extensión del archivo.
No quiero inundar la publicación ni 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
?
Resolving downloads.sourceforge.net... 216.34.181.59
Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
[snipped for brevity]
HTTP request sent, awaiting response... 200 OK
Length: 13432789 (13M) [application/x-gzip]
Saving to: `download'