Respuestas:
Utilice un .wgetrc
archivo ( manual de GNU ) en el que puede establecer el nombre de usuario y las contraseñas para ftp y http o para ambos.
Para usar las mismas credenciales para ambos, especifique
user=casper
password=CasperPassword
o individualmente
ftp_user=casperftp
ftp_password=casperftppass
http_user=casperhttp
http_password=casperhttppass
.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:
touch ~/.netrc
chmod 600 ~/.netrc
Luego puede agregar el nombre de host, el nombre de usuario y la contraseña, todo en una línea:
echo 'machine example.com login casper password CasperPassword' >> ~/.netrc
Luego, cuando lo haga wget https://example.com
y el servidor responda 401 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 cron HOME=/
(en ese caso, tendrías que crear el archivo como /.netrc
, pero es mejor establecer un apropiado HOME
al comienzo de tu script, como export HOME=/root
).
Puede especificar varios hosts en ~/.netrc
, uno por línea. Más información en man netrc
.
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 utilizado ftp
, 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
-i
opción y alimentar el nombre de usuario y la contraseña desde la entrada estándar.