¿Hay alguna manera de pasar el nombre de usuario y la contraseña de un archivo en lugar de la línea de comando a través de --user y --password?
Antecedentes: quiero ejecutar wget a través de cron y no quiero que el nombre de usuario / contraseña aparezca en la vista de proceso
password
wget
credentials
user-accounts
casper
fuente
fuente
-i
opción y alimentar el nombre de usuario y la contraseña desde la entrada estándar..wgetrc
Proporciona la flexibilidad para trabajar con más de un servidor? Si no,.netrc
es una mejor solución, vea la otra respuesta de tobias.pal.netrc
archivo, pero está documentado .Me sorprende que nadie haya mencionado el
.netrc
archivo. Primero cree el archivo si no existe y establezca permisos seguros:Luego puede agregar el nombre de host, el nombre de usuario y la contraseña, todo en una línea:
Luego, cuando lo haga
wget https://example.com
y el servidor responda401 Authorization Required
, wget volverá a intentarlo con el nombre de usuario y la contraseña del~/.netrc
archivo.Cuando use esto desde cron, asegúrese de tener el
HOME
directorio correcto . A menudo, los conjuntos cronHOME=/
(en ese caso, tendrías que crear el archivo como/.netrc
, pero es mejor establecer un apropiadoHOME
al comienzo de tu script, comoexport HOME=/root
).Puede especificar varios hosts en
~/.netrc
, uno por línea. Más información enman netrc
.fuente
.netrc
, consulte su manual o el documento curl relacionado .man netrc
OP, preguntándome POR QUÉ esto funciona, luego @ryenus tu comentario me salva, gracias ~ El manual siempre es bienvenido: P Entonces sé que es un archivo rc utilizadoftp
, es decir, puede no funciona para http. Lo intentaré en http más tarde.En muchos aspectos, el rizo puede ser una mejor opción. Wget se volvió un poco rancio con el tiempo.
El interruptor -n de curl se puede utilizar para esta tarea: http://curl.haxx.se/docs/manpage.html#-n
fuente