WGET e reindirizzamenti con http-equiv=refresh content
Può capitare che serva schedulare un download periodico da un indirizzo che include un refresh intermedio di tipo http-equiv=refresh content
In questo caso wget sembra non riuscire ad intercettare il redirect e scarica solo il file HTML con contenuto le istruzioni per il browser.
Per ovviare ho creato un piccolo script che usa in combinata wget e grep:
1 2 3 4 5 6 |
#!/bin/bash URL="http://www.miourl.com/path/" REGEXP="http://[^[:space:]\"]*[zip$]" FILE="/path/to/download/file.zip" URL2=`wget -qO- $URL | grep -o -e $REGEXP` wget $URL2 -O $FILE |
Questo piccolo script in pratica si occupa di prelevare il file HTML che contiene la direttiva di refresh, estrapolarne il link ( in questo caso da http a zip ma basta adattare la regexp alle proprie esigenze), memorizzarlo in un ulteriore variabile e eseguire wget con il link giusto, la parte -O $FILE è facoltativa serve solo per salvare il file con un nome specifico invece che quello originale.