Como baixar um arquivo por trás da autenticação via Wget ou cURL [duplicado]

1

Desejo fazer download do arquivo do link . No entanto, a fim de baixar o arquivo, eu preciso digitar uma senha e nome de usuário, que são aceitos através de um formulário HTTP.

Existe uma maneira pela qual eu posso digitar a senha / nome de usuário usando a linha de comando?

    
por None 15.03.2011 / 13:08

2 respostas

1

Você pode fazer login com seu navegador (com a opção preferida "Lembrar-me"), exportar o cookie do navegador ( para Firefox 3.x, aqui está um código python para fazer isso ) e use --load-cookies com wget.

    
por 30.03.2011 / 06:45
6

wget e curl são capazes apenas de lidar com autenticação HTTP básica e não com autenticação baseada em formulários personalizados.

O que você precisa fazer é primeiro examinar o HTML do formulário de login para encontrar os elementos de formulário que o sistema de login usa e o formulário action , então use curl ou wget para enviar uma solicitação no formato correto (POST ou GET) para a URL action do formulário que contém as variáveis e dados de login.

Essa solicitação deve retornar um cookie contendo uma chave de sessão ou algo semelhante. Enviar esse cookie junto com qualquer solicitação futura deve permitir que você acesse as páginas do site que exigem que você esteja logado.

    
por 15.03.2011 / 13:13

Tags