Risposte:
Utilizzare un .wgetrcfile ( 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
.wgetrcla flessibilità di lavorare con più di un server? In caso contrario, .netrcè una soluzione migliore, vedi l'altra risposta da tobias.pal
.netrcfile, ma è documentato .
Sono sorpreso che nessuno abbia menzionato il .netrcfile. 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.come il server risponde 401 Authorization Required, wget riproverà con il nome utente e la password dal ~/.netrcfile.
Quando lo usi da cron assicurati di avere la HOMEdirectory giusta . Spesso cron set HOME=/(in quel caso dovresti creare il file come /.netrc, ma è meglio impostare un proprio HOMEall'inizio del tuo script, come export HOME=/root).
È possibile specificare più host in ~/.netrc, uno per riga. Maggiori informazioni in man netrc.
man netrcOP, 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
-idell'opzione e l'inserimento di nome utente e password dall'input standard.