9

Estoy desarrollando una extensión de Chrome/Chromium que leerá las calificaciones escolares del sistema escolar con las calificaciones. El problema es que el sitio no recuerda al usuario registrado. Debido a esto, no puedo usar AJAX.Ingresar al sitio web con la extensión de Chrome y obtener datos del mismo

Solo si he iniciado sesión en esa página en otra pestaña. Pero quiero iniciar sesión en esa página en segundo plano y de forma automática. La solución puede ser una etiqueta de iframe, pero Chrome/Chromium no me permite leer y manipular contenido de iframe. ¿Hay alguna solución sobre cómo manipular en la página como usuario registrado? Gracias

Respuesta

9

Puede emular el envío de formulario a través de javascript desde una página de fondo. Primero debe inspeccionar cuidadosamente qué datos se envían a través del formulario de inicio de sesión y a qué URL (el formulario se puede modificar con javascript antes de enviarlo, por lo que necesita saber qué se envía realmente, no solo lo que está en el elemento <form>). Puede usar la consola de Chrome para cosas simples, si no es suficiente, entonces hay Tamper Data plugin para Firefox, y para la inspección del tráfico hardcore puede usar el analizador Wireshark.

Luego, en una página de fondo (estoy usando jQuery aquí):

$.ajax({ 
    url: "https://login_form.html", 
    type: "GET", 
    dataType: "html", 
    success: function() { 
     $.ajax({ 
      url: "https://login_form_submits_to.html", 
      type: "POST", 
      data: { 
        "username": "username", 
        "password": "password", 
        "extra_field": "value" 
      }, 
      dataType: "html", 
      success: function(data) { 
        //now you can parse your report screen 
      } 
     }); 
    } 
}); 

Lo bueno es que Chrome persiste cookies de sesión y, lo que es como ingresar manualmente (si ahora abre su sitio en el navegador, deberías estar conectado).

+2

Veo que llego bastante tarde a esta discusión, pero solo quería preguntar si había implicaciones de seguridad para el envío de datos de inicio de sesión de esta manera. –

0

¿Qué le parece usar cURL para registrar de forma invisible al usuario en el sistema, y ​​luego devolver los resultados de una llamada JSONP?

+1

Sí, sería una buena idea, pero ¿cómo puedo ejecutar cURL desde la extensión? –

+0

¿Configurar una llamada AJAX a un script del lado del servidor? – BenM

Cuestiones relacionadas