baixar vários links "php"?

1

Eu posso baixar todos os links em uma página da web com as extensões de pdf, zip, etc.

Mas um site tem mais de 50 links que terminam assim: "http: // ... ... /showDocument.php?DocumentID=121" "http: // ... ... /showDocument.php?DocumentID=33" "http: // ... ... /showDocument.php?DocumentID=67"

Quando eu copio links para o meu programa de download (Orbit) ele não consegue entender que eles estão ligados a arquivos pdf. E downloads de arquivos php. Como posso corrigir isso e baixar todos os links facilmente? Obrigado

    
por trante 14.04.2011 / 15:10

4 respostas

1

Pode ser uma restrição do programa. Além disso, se você verificar, provavelmente não verá o PHP bruto no arquivo que é baixado - pode ser o seu PDF. Tente alterar a extensão e veja se você pode abrir em um leitor de PDF.

    
por 14.04.2011 / 15:21
0

Servidores da Web enviam de volta o tipo de arquivo (conhecido como Tipo MIME) que você está baixando em cabeçalhos HTTP, usado pela maioria dos navegadores para determinar qual aplicativo usar para abri-lo se não for um arquivo que pode manipular nativamente . É assim que um navegador sabe que precisa iniciar o Word, o Excel ou o Acrobat (ou qualquer outro) para abrir um arquivo. Eu estou supondo Orbit só usa extensão de arquivo em vez disso. Como o código PHP pode ser escrito para enviar dinamicamente qualquer tipo de arquivo, não há realmente nenhuma maneira de determinar qual tipo de arquivo está sendo baixado simplesmente inspecionando a extensão do arquivo.

Se este for o caso, então é uma limitação do seu downloader e você vai querer procurar um que inspecione o tipo de arquivo com base no cabeçalho HTTP Content-Type que é enviado pelo servidor web.

    
por 14.04.2011 / 15:25
0

Pode ser que seu programa use apenas um nome de arquivo incorreto, por exemplo, que o documento é chamado "showDocument.php", mas na realidade é um PDF - > tente renomeá-lo.

    
por 14.04.2011 / 16:40
0

Você pode usar o wget.

#/bin/bash

for i in {0 .. 50} 
  do    
     wget http://... ... /showDocument.php?DocumentID=${i} 
  done

Isso pressupõe que os 'números' estejam entre 0 e 50. Se forem números aleatórios, apenas torne o limite superior para o loop for muito alto (isto é, 1000) e faça com que o wget ignore erros.

    
por 14.04.2011 / 17:05