Reflejando un sitio web detrás de un formulario de inicio de sesión

10

Version corta:

  • Me gustaría tomar una copia sin conexión de una URL que incluye las imágenes HTML + CSS + JS + completas y las guarda localmente, manteniendo la estructura y el contenido del archivo del sitio original.
  • Tengo problemas con las herramientas que puedo encontrar (por ejemplo, la extensión "Guardar completa" de Firefox, HTTrack, wget, Teleport Pro) en parte porque la URL está detrás de un formulario de inicio de sesión.

Versión más larga:

Cuando trabajo en mi aplicación, a menudo quiero tomar una versión completa de imágenes HTML + CSS + JS + fuera de línea para enviarla al diseñador con el que trabajo, quien realiza modificaciones y la devuelve. Luego aplico los cambios a la aplicación.

Esto ha resultado ser mucho más eficiente que hacer que navegue nuestro código con una aplicación en vivo, pero hay un inconveniente: no puedo encontrar una aplicación de reflejo que sea conveniente.

Las extensiones de Firefox como "Save Complete" ya tienen la cookie de inicio de sesión, así que no importa que estén detrás de un formulario de inicio de sesión, pero destruyen los archivos guardados localmente, lo que hace imposible trabajar con ellos.

Las herramientas de duplicación como wget o Teleport Pro no son compatibles con nuestro formulario de inicio de sesión.

Sin embargo, se supone que HTTrack puede ejecutarse en modo proxy para detectar la información de inicio de sesión, pero nunca pude hacer que funcione. Como alternativa, puede aceptar cookies que conecte en su archivo cookies.txt, pero siempre me lleva horas hacer esto de manera confiable.

¿Alguna herramienta, extensión de navegador, etc. que pueda hacer esto? Código abierto, comercial, cualquier cosa. Si he estado haciendo mal uso de HTTrack y es realmente trivial, esa es una gran respuesta también.

orip
fuente

Respuestas:

7

Con HTTrack puede hacer que use un archivo cookies.txt al descargar. Lo he usado para reflejar con éxito un sitio moodle.

TheLQ
fuente
Gracias, lo he hecho antes con HTTrack, pero por alguna razón siempre me toma varios intentos para que funcione, aunque no puedo ver por qué. ¿Alguna vez obtuvo el soporte de autenticación de formularios incorporado para trabajar? Nunca funcionó para mi sitio. httrack.kauler.com/help/CatchURL_tutorial
orip
2
Lo que hice fue iniciar sesión con mi navegador y exporté el archivo cookies.txt, agregué la página de cierre de sesión a la lista negra y la dejé correr. Me tomó algunos intentos debido a la estupidez de moodle, pero lo puse a trabajar
TheLQ
5

Lo hice con éxito con WinHTTrack . Puede seguir el procedimiento normal para capturar un sitio web, con dos ajustes menores de configuración:

  1. En Chrome, abra Dev Tools, luego inicie sesión en el sitio web que necesita capturar. En la pestaña Red, haga clic en la página HTML que solicitó para encontrar su cookie de sesión (el nombre de esta variará según el marco de back-end utilizado). Coloque esto en HTTrack en "Encabezados HTTP adicionales".

  2. Asegúrese también de que la cadena del agente de usuario coincida, ya que a veces las sesiones se bloquean si se cambia la cadena del agente de usuario.

    Inicio de sesión de cookie de sesión en HTTrack

  3. Comience a descargar el sitio. El resultado debería ser como si hubiera iniciado sesión.

Simon East
fuente
3

¿Has probado Offline Explorer ?

Recuerdo que algo así le permitiría iniciar sesión, guardando cookies para las solicitudes posteriores y hará el resto. No estoy seguro al 100% ya que lo estaba usando hace mucho tiempo.

Pablo
fuente
Impresionante, parece que la versión Pro admite POST en formularios, lo comprobaré
orip
Me llevó un tiempo descubrirlo, y la documentación era escasa, pero me di cuenta de que podía usar el navegador integrado basado en IE para iniciar sesión en el formulario y luego elegir "Agregar el siguiente enlace como proyecto". La función de "autoguardado" también fue agradable, aunque ocasionalmente estropeó mi publicación de formularios. Lo evaluaré durante 30 días, podría ser lo que estoy buscando.
orip
2

Teleport Pro permite utilizar un nombre de usuario y contraseña.

Cuando inicie un Asistente de nuevo proyecto, llegará al punto en que le ofrece esa opción (creo que está en la tercera pantalla de opciones).

E incluso si lo pierde, puede acceder a esa opción nuevamente.

En la ventana principal (después de haber pasado por el Asistente de proyectos), haga clic con el botón derecho en su proyecto (pequeño icono de carpeta que muestra la URL que está tratando de descargar, en el panel izquierdo) y elija la última opción Starting Address Propertiesy se le presentará una pantalla de opciones donde puede especificar un nombre de usuario y contraseña para usar en ese sitio.

Ayudante
fuente
Esta es una pregunta antigua, pero teleport pro es compatible con autenticación HTTP , no ingresa datos en formularios POST.
Nombre falso