Faça o download de um arquivo de um site na linha de comando no Linux

2

Eu preciso baixar um arquivo de um site que tenha um URL formatado como:

http://www.server.com/downloads/1234/

Isso redireciona para um arquivo .zip que deve ser salvo. Também é necessário autenticar com base no nome de usuário e senha.

Eu tentei usar wget , curl e lynx sem sorte.

UPDATE:

  • wget não funciona com redirecionamento. Ele simplesmente faz o download da página da Web em vez do arquivo zip.
  • curl apresenta o erro "Redirecionamento máximo excedido > 50"
  • lynx também apresenta o mesmo erro.
por Vicky 09.08.2011 / 07:16

1 resposta

3

Wget suporta redirecionamento, isso funciona?

wget --user=USER --password=PASS --max-redirect URL

Observe que, se o site não implementar autenticação HTTP (requer um envio de formulário via GET ou POST), então você precisará configurar mais algum trabalho (dadas as poucas informações que você fornecer sobre o site onde o arquivo é, uma boa resposta é difícil de dar)

wget --post-file=datafile --keep-session-cookies --max-redirect URL

e seu datafile pode ser parecido com

username=USER
password=PASS

em que username e password devem ser o nome dos campos de formulário enviados.

OBSERVAÇÃO: o site precisa redirecionar para o arquivo Zip real e não para outra página em que haja um link para o arquivo Zip. Se este for o caso, você precisará escrever um script de análise porque nem o Curl nem o Wget irão ajudá-lo. Eles são ferramentas para obter conteúdo de um determinado URL, eles não são destinados a "adivinhar" que você deseja que eles busquem; eles simplesmente baixam o que o servidor envia.

    
por 09.08.2011 / 07:58