Wget: c'è un modo per passare nome utente e password da un file?


22

Esiste un modo per passare il nome utente e la password da un file anziché dalla riga di comando tramite --user e --password?

Sfondo: voglio eseguire wget tramite cron e non voglio che il nome utente / la password vengano visualizzati nella vista di processo

Risposte:


13

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

2
Il manuale di GNU wget suggerisce anche l'uso -idell'opzione e l'inserimento di nome utente e password dall'input standard.
Richard,

Offre .wgetrcla flessibilità di lavorare con più di un server? In caso contrario, .netrcè una soluzione migliore, vedi l'altra risposta da tobias.pal
reno

Ovviamente mi sono perso wget usando un .netrcfile, ma è documentato .
Mike Renfro,

19

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.


2
Per la sintassi di .netrc, consultare il relativo manuale o il relativo documento di arricciatura .
reno

All'inizio sono troppo disinteressato per vedere l' 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.
Weekend

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.