¿Cómo hago la autenticación ldap con wget?

¿Cómo hago la autenticación ldap con wget?

Estoy intentando rastrear un antiguo servidor de Reviewboard que tengo para poder crear una copia estática y archivarla, y lo hago usando wget según las recomendaciones de algunas personas, usando la forma recomendada de rastrear y descargar un servidor como este. :

wget --recursive --no-clobber --page-requisites --html-extension --convert-links --domains $DOMAIN --http-user $USERNAME  --ask-password $THE_SERVER

Sin embargo, el servidor requiere un inicio de sesión autenticado LDAP, por lo que todo lo que obtengo es la página de inicio de sesión y algunos archivos relacionados. El mismo problema ocurre si lo hago --useren lugar de --http-user.

Mi pregunta es ¿puedo realizar la autenticación LDAP con wget y, de ser así, cómo?

Ya que estoy seguro que surgirán estos comentarios:

  1. Ya hice un archivo JSON usando rb-tools, pero preferiría una copia web estática.
  2. Tengo la opción de permitir el acceso anónimo de solo lectura porque soy administrador del servidor, pero me gustaría evitarlo si es posible.

Respuesta1

LDAP no es una autenticaciónmecanismo– es simplemente una cuentaalmacenamientobackend; es esencialmente lo mismo que almacenar cuentas en MySQL o algo así. Por lo tanto, no existe la "autenticación LDAP" en lo que respecta a los clientes HTTP.

Los mecanismos reales HTTP.tieneson "Básico" o "Resumen" para inicios de sesión basados ​​en contraseña, o "Negociar" para inicios de sesión basados ​​en Kerberos; la --http-useropción funcionaría si su sitio web utilizara uno de esos.

Sin embargo, lo más probable es que su sitio web utilice una página de inicio de sesión basada en formularios/cookies, que para los clientes HTTP es completamente indistinguible de una redirección normal a una página web normal. Wgetno lo harápoder reconocer y completar automáticamente dichos formularios.

Si ese es el caso, ¿quépodríaLo que debe hacer es iniciar sesión a través de su navegador web habitual, luego copiar las cookies de sesión necesarias al archivo "tarro de cookies" de wget (o posiblemente pasarlas directamente usando --header). Entonces el sitio web reconocerá que ha iniciado sesión.

Si abre "Herramientas de desarrollo" → "Red" en Chrome o Firefox, cada solicitud de red tendrá una opción "Copiar como cURL" que le brindará una curllínea de comando completa. Busque la --header …opción específica que envía la cookie de sesión y désela a wget.

información relacionada