Domanda wget -m inserisce robots.txt?


Stavo facendo il mirroring di un server su cui sto lavorando prima di revisionare il codice. Per fare questo ho usato il comando

wget -m <address>

Sembra che ci sia tutto. ma cos'è questo? un file robots.txt? Ho controllato, il file robots.txt non esiste sul server. Quindi ho esaminato il contenuto del file robots.txt e contiene la pagina 404 del server.

Come nel server:

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

ma nella cartella specchiata di wget, c'è un file robots.txt che viene creato.

Ok, quindi pensavo che wget -m fosse un mezzo per rispecchiare. Perché sta inserendo cose che non ci sono?


4
2018-02-07 01:26


origine




risposte:


Il problema non è con wget che inserisce un file robots.txt a cui non appartiene, ma è con il server da cui si esegue il mirroring del contenuto. Il server è evidentemente miss-configurato per gestire le richieste del tipo 200 e, quindi, quando wget cerca una pagina wget, ricrea una richiesta 404.

Stavo guardando il codice sorgente di wget qualche tempo fa. Penso che sia venuto fuori che wget cerca sempre un file robots.txt. Ma, nella maggior parte dei casi, se viene lasciato vuoto, wget lo cancella. Nel tuo caso, è archiviato dalla pagina 404 che riceve quando wget tenta di accedervi.

Sfortunatamente, non so come correggere un errore di richiesta HTTP tipo 200, per questo, avremmo bisogno di più informazioni sul server.


1
2018-03-09 18:03





Puoi usare l'opzione -e robots=off per ignorare il file robots.txt. Se il webserver non è il tuo, tuttavia, ignorare il file robots.txt è considerato maleducato.


2
2018-02-07 01:40



gnu.org/software/wget/manual/html_node/Robot-Exclusion.html - iolsmit