wget -m insere o robots.txt?

4

Eu estava espelhando um servidor em que estou trabalhando antes de revisar o código. Para fazer isso eu usei o comando

wget -m <address>

Parece que tudo está lá. Mas o que é isso? um arquivo robots.txt? Eu verifiquei duas vezes, o robots.txt não existe no servidor. Então olhei para o conteúdo do arquivo robots.txt e ele contém a página 404 do servidor.

Como no servidor:

/var/www$ ls robots.txt
ls: cannot access robots.txt: No such file or directory

mas na pasta espelhada do wget, há um arquivo robots.txt criado.

Ok, então eu pensei que wget -m era um meio de espelhamento. Por que está inserindo coisas que não estão lá?

    
por j0h 07.02.2015 / 02:26

2 respostas

1

O problema não é com o wget inserindo um arquivo robots.txt no qual ele não pertence, mas sim com o servidor do qual você está espelhando o conteúdo. O servidor é, evidentemente, configurado incorretamente para manipular as solicitações do tipo 200 e, assim, quando o wget procura uma página do wget, ele recria uma solicitação com 404 bits.

Eu estava olhando o código-fonte do wget há um tempo atrás. Eu acho que o que aconteceu foi que o wget sempre procura por um arquivo robots.txt. Mas, na maioria dos casos, se for deixado em branco, o wget o exclui. No seu caso, ele é arquivado pela página 404 que recebe quando o wget tenta acessá-lo.

Infelizmente, não sei como consertar um erro de solicitação HTTP tipo 200, para isso, precisaríamos de mais informações sobre o servidor.

    
por Brooke Fogg-Wolfe 09.03.2015 / 19:03
2

Você pode usar a opção -e robots=off para ignorar o arquivo robots.txt. Se o servidor da web não é seu, no entanto, ignorar o arquivo robots.txt é considerado rude.

    
por Adrian Stoll 07.02.2015 / 02:40