Estou tentando baixar um arquivo do sourceforge usando wget, mas como todos sabemos, temos que clicar no botão de download e aguardar o download automático. como você baixa esse tipo de arquivo usando o wget?
Estou tentando baixar isso:http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/bitcoin-0.8.1-linux.tar.gz/download
Mas fazer um wget nesse link de URL não me daria o arquivo, pois o arquivo é carregado automaticamente através do navegador.
Responder1
Eu sugeriria usar curl
para fazer isso em vez de wget
. Ele pode seguir o redirecionamento usando as opções -L
, -J
e -O
.
curl -O -J -L http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/bitcoin-0.8.1-linux.tar.gz/download
definições de mudança
-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.
Veja oenrolar página de manualpara mais detalhes.
Responder2
Você wget
pode usar --content-disposition
a opção que é útil para alguns programas CGI de download de arquivos que usam cabeçalhos "Content-Disposition" para descrever qual deve ser o nome de um arquivo baixado.
No exemplo:
wget --user-agent=Mozilla --content-disposition -E -c http://example.com/
Para soluções mais complexas (como necessidade de autorização), use o arquivo cookie ( --load-cookies file
) para simular sua sessão.
Responder3
Não tenho certeza de qual versão do wget
sistema operacional e de qualquer proxy existe entre você e o sourceforge, mas wget
baixei o arquivo quando removi o "/download" e o deixei na extensão do arquivo.
Não quero inundar a postagem ou colar toda a minha sessão, mas recebi os códigos de status 302 e 200 antes do início da transferência. O que acontece quando você tenta 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'