
Al utilizar wget
, ¿es posible proporcionar más de un par de usuario/contraseña al duplicar un sitio web que tiene varias áreas protegidas con contraseña con diferentes credenciales?
Me gustaría reflejar un sitio web completo que tenga varias áreas protegidas. Como ejemplo simplificado, considere la siguiente estructura:
example.com/protected_area_1/ (user=alice, password=cat)
example.com/protected_area_2/ (user=bob, password=dog)
Ahora, al usar wget --mirror example.com
, puede proporcionar adicionalmente los parámetros --user
y --password
, pero al proporcionar solo un par de usuario/contraseña, una de las dos áreas protegidas no se pudo descargar debido a 401 Authorization Required
.
¿Hay alguna manera de hacer algo así wget --user=alice --password=cat --user=bob --password=dog (...)
? En lenguaje natural:Cuando encuentre un área protegida por contraseña, intente obtener acceso probando todas las credenciales proporcionadas, una tras otra.
Respuesta1
Si es necesario hacer esto con wget
:
Si hay una pequeña cantidad de combinaciones de nombre de usuario/contraseña y la descarga no es excesiva, puede ejecutar todo el árbol repetidamente con cada combinación (usando
--user
y--password
) y combinar el resultado.Si las diferentes combinaciones de usuario/contraseña dependen de los dominios, puede probar
wget
la opción--ask-password
yexpect
proporcionar la correcta en el momento adecuado.
Para situaciones de descarga más complejas, siempre utilicé un programa dedicado basado en selenio, que se ocupa correctamente de la práctica actual de cargar parte de las páginas con javascript, así como de otros esquemas de inicio de sesión además de la autenticación básica que wget puede manejar.