Estou tentando rastrear um servidor Reviewboard antigo que possuo para poder criar uma cópia estática e arquivá-la, e estou fazendo isso usando wget por recomendações de algumas pessoas, usando a maneira recomendada de rastrear e baixar um servidor como assim :
wget --recursive --no-clobber --page-requisites --html-extension --convert-links --domains $DOMAIN --http-user $USERNAME --ask-password $THE_SERVER
No entanto, o servidor requer um login autenticado LDAP, então tudo que consigo é a página de login e alguns arquivos relacionados. O mesmo problema ocorre se eu fizer isso --user
em vez de --http-user
.
Minha pergunta é: posso fazer autenticação LDAP com wget e, em caso afirmativo, como?
Como tenho certeza que esses comentários surgirão:
- Já criei um arquivo JSON usando rb-tools, mas prefiro fortemente uma cópia estática da web.
- Tenho a opção de permitir acesso anônimo somente leitura porque sou administrador do servidor, mas gostaria de evitar isso, se possível.
Responder1
LDAP não é uma autenticaçãomecanismo– é apenas uma contaarmazenarProcesso interno; é essencialmente o mesmo que armazenar contas no MySQL ou algo semelhante. Portanto, não existe "autenticação LDAP" no que diz respeito aos clientes HTTP.
Os mecanismos reais HTTPtemsão "Básico" ou "Resumo" para logins baseados em senha ou "Negociar" para logins baseados em Kerberos; a --http-user
opção funcionaria se o seu site usasse um desses.
No entanto, seu site provavelmente usa uma página de login baseada em formulários/cookies, que para clientes HTTP é completamente indistinguível de um redirecionamento regular para uma página da web normal. Wgetnão vouser capaz de reconhecer e preencher automaticamente esses formulários.
Se for esse o caso, o que vocêpoderiaO que fazer é fazer login através do seu navegador normal e, em seguida, copiar os cookies de sessão necessários para o arquivo "cookie jar" do wget (ou possivelmente passá-los diretamente usando --header
). Então o site reconheceria você como conectado.
Se você abrir "Ferramentas do desenvolvedor" → "Rede" no Chrome ou Firefox, cada solicitação de rede terá a opção "Copiar como cURL", que fornece uma curl
linha de comando completa. Encontre a --header …
opção específica que envia seu cookie de sessão e forneça-o ao wget.