Faça o download de um artigo com cURL dado um link de download dinâmico

3

Estou tentando fazer download do artigo de revista publicado usando cURL . É a página principal de um acesso aberto, então não deve haver problemas para qualquer um ver / baixar o artigo. Eu então extraio o pdfurl , que continua mudando.

Então eu tento baixar o pdf:

curl -L -o test.pdf "http://www.sciencedirect.com/science/article/pii/S0378426612000817/pdfft?md5=6a85f34def09dd5cfb1d1b8feded0d51&pid=1-s2.0-S0378426612000817-main.pdf"

mas o tempo todo ele me redireciona para a página principal, que é então baixada como uma página html chamada "test.pdf".

    
por MERose 24.04.2015 / 10:26

2 respostas

3

curl parece lidar com redirecionamentos de forma diferente de wget por padrão. A URL de download direto envolverá alguns redirecionamentos e também exige que o cabeçalho do referenciador HTTP seja definido corretamente após o primeiro redirecionamento (caso contrário, você obterá uma página HTML).

Primeiro, você precisa ativar os redirecionamentos de local em curl com -L e, em seguida, ativar o tratamento automático de curl do cabeçalho do referenciador com --referer ";auto" , ou seja,

curl -L --referer ";auto" -o test.pdf URL-for-direct-download
    
por 24.04.2015 / 11:21