Como usar o wget ou outra ferramenta para baixar um arquivo, para o qual o link está oculto (ativa apenas no clique)

6

Eu quero baixar alguns arquivos de legenda, armazenados em arquivos rar do link O site fornece feeds RSS para seus novos lançamentos. Infelizmente, o link fornecido abrirá uma página de download, mas não obterá o arquivo.

A página de download tem um botão no meio, e clicar nele irá acionar o download do arquivo rar desejado. De qualquer forma, se eu clicar com o botão direito e copiar o link, e tentar abri-lo, o navegador abrirá a própria página de download, mas não baixará o arquivo. Quando tento usar o link de download do arquivo em wget e curl, um arquivo php é baixado. Eu li que, nesses casos, um script do lado do servidor é usado para passar o link correto para a máquina cliente.

Então, estou procurando uma maneira de forçar o wget a emular a ação onclick desse link. Eu sei html css e javascript o suficiente para encontrar outras propriedades do link de download.

Isso pode ser feito?

PS. Estou bastante confuso porque esta questão foi rejeitada? Qualquer boa explicação, eu quebrei alguma regra para postar ou algo assim, obrigada ..

    
por deckoff 05.03.2012 / 11:10

1 resposta

13

Você está confundindo algumas coisas. As ações "Onclick" referem-se ao JavaScript e são do lado do cliente. Você teria que examinar o que o gancho de JavaScript nesses links faz para desvendar a URL. No entanto, não há ações onclick em jogo aqui.

O que o site em questão faz é verificação de referência , também conhecida como "hothotes de proteção ". O navegador envia um valor referenciador por padrão e é o URL da página anterior. Isso é feito para que algum outro site não desvie a largura de banda do site postando links diretos para os arquivos.

Se você tentou copiar o link e colá-lo diretamente no seu navegador, você teria o mesmo comportamento que está descrevendo na sua pergunta, pois o navegador não saberia enviar as informações do referenciador então.

A opção para dizer ao wget para falsificar um valor de referência é --referer e -e para curl. O valor geralmente pode ser definido com segurança para a raiz do site - os sites geralmente não verificam se o valor está correto que :

wget -O output.rar --referer http://subs.sab.bz/ 'http://subs.sab.bz/your-link-here'
    
por 05.03.2012 / 16:58