![Várias credenciais de usuário no wget](https://rvso.com/image/36006/V%C3%A1rias%20credenciais%20de%20usu%C3%A1rio%20no%20wget.png)
Usando wget
, é possível fornecer mais de um par usuário/senha ao espelhar um site que possui várias áreas protegidas por senha com credenciais diferentes?
Gostaria de espelhar um site inteiro que possua diversas áreas protegidas. Como exemplo simplificado, considere a seguinte estrutura:
example.com/protected_area_1/ (user=alice, password=cat)
example.com/protected_area_2/ (user=bob, password=dog)
Agora, ao usar wget --mirror example.com
, você também pode fornecer os parâmetros --user
e --password
, mas ao fornecer apenas um par usuário/senha, uma das duas áreas protegidas não pôde ser baixada devido a 401 Authorization Required
.
Existe uma maneira de fazer algo parecido wget --user=alice --password=cat --user=bob --password=dog (...)
? Em linguagem natural:Ao encontrar uma área protegida por senha, tente obter acesso tentando todas as credenciais fornecidas, uma após a outra.
Responder1
Se isso precisar ser feito com wget
:
Se houver um pequeno número de combinações de nome de usuário/senha e o download não for excessivo, você poderá executar a árvore inteira repetidamente com cada combinação (usando
--user
e--password
) e combinar o resultado.Se as diferentes combinações de usuário/senha dependem de domínios, você pode tentar
wget
a opção de--ask-password
eexpect
e fornecer a correta no momento certo.
Para situações mais complexas de download sempre utilizei um programa dedicado baseado em Selenium, que lida corretamente com a prática atual de carregar parte das páginas com javascript, bem como com outros esquemas de login além da autenticação básica que o wget pode manipular.