Estou tentando baixar um arquivo do sourceforge usando o wget, mas como todos sabemos, precisamos clicar no botão de download e aguardar o download automático. como você baixa esse tipo de arquivo usando o wget?
Estou tentando fazer o download: 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 levaria o arquivo, pois o arquivo é carregado automaticamente pelo navegador.
wget --trust-server-names URL
Respostas:
Não tenho certeza de qual versão do
wget
sistema operacional e de qualquer proxy existe entre você e o sourceforge, maswget
baixei o arquivo quando removi o "/ download" e o deixei na extensão do arquivo.Não quero inundar a postagem ou colar na minha sessão inteira, mas recebi os códigos de status 302 e 200 antes da transferência começar. O que acontece quando você tenta
wget
?fonte
Eu sugeriria usar
curl
para fazer isso em vez dewget
. Ele pode seguir o redirecionamento usando os interruptores-L
,-J
e-O
.mudar definições
Veja a página de manual curl para mais detalhes.
fonte
wget
pode seguir redirecionamentos, mas não fazê-lo a menos que você aumentar a--max-redirect
partir do padrão, que por razões de segurança é, naturalmente, 0.wget
O padrão de 1.19.2 é o--max-redirect=20
que deve ser bom o suficiente para a maioria dos usos. Não sei ao certo quando isso mudou ... ou por que isso era necessário para segurança (citação necessária!), Mas meu palpite é que a solução preferida atual era seguir os redirecionamentos e, em vez disso, exigir--trust-server-names
a preservação do nome fornecido por um destino de redirecionamento em vez de " download "ou" index.html? blah = barg "ou o que o URL fornecido usar.curl -JLO http://www.example.com/file.ext
Em
wget
que você pode usar--content-disposition
a opção que é útil para alguns programas CGI-download de arquivos que usam cabeçalhos "Content-Disposition" para descrever o que o nome de um arquivo baixado deve ser.No exemplo:
Para soluções mais complexas (como é necessária autorização), use o arquivo de cookie (
--load-cookies file
) para simular sua sessão.fonte