Risposte:
Utilizzare un .wgetrc
file ( manuale GNU ) in cui è possibile impostare nome utente e password per entrambi o ftp e http.
Per utilizzare le stesse credenziali per entrambi specificare
user=casper
password=CasperPassword
o individualmente
ftp_user=casperftp
ftp_password=casperftppass
http_user=casperhttp
http_password=casperhttppass
.wgetrc
la flessibilità di lavorare con più di un server? In caso contrario, .netrc
è una soluzione migliore, vedi l'altra risposta da tobias.pal
.netrc
file, ma è documentato .
Sono sorpreso che nessuno abbia menzionato il .netrc
file. Innanzitutto crea il file se non esiste e imposta autorizzazioni sicure:
touch ~/.netrc
chmod 600 ~/.netrc
Quindi puoi aggiungere il nome host, il nome utente e la password tutti su una riga:
echo 'machine example.com login casper password CasperPassword' >> ~/.netrc
Quindi quando lo fai wget https://example.com
e il server risponde 401 Authorization Required
, wget riproverà con il nome utente e la password dal ~/.netrc
file.
Quando lo usi da cron assicurati di avere la HOME
directory giusta . Spesso cron set HOME=/
(in quel caso dovresti creare il file come /.netrc
, ma è meglio impostare un proprio HOME
all'inizio del tuo script, come export HOME=/root
).
È possibile specificare più host in ~/.netrc
, uno per riga. Maggiori informazioni in man netrc
.
man netrc
OP, chiedendomi PERCHÉ funziona, quindi @ryenus il tuo commento mi salva, grazie ~ Il manuale è sempre il benvenuto: P Quindi so che è un file rc usato da ftp
, cioè potrebbe non funziona per http. Lo proverò su http più tardi.
Sotto molti aspetti il ricciolo può essere una scelta migliore. Wget è diventato un po 'stantio nel tempo.
L'opzione -n di curl può essere utilizzata per questa attività: http://curl.haxx.se/docs/manpage.html#-n
-i
dell'opzione e l'inserimento di nome utente e password dall'input standard.