![]() |
Login con proveedor de internet
Hola amigos del foro, aca les traigo un reto tanto personal como profecional,hace unos meses en mi ciudad de instalaron unos equipos para la conexion wifi de acceso publico,pero ojo,no gratis, el sistema funciona con autentificacion del wirewall, usando un portal cautivo,quizas con pfSense, bueno no lo se del todo, pero si se que hay pasos que hay que completar para autenticarce a travez de la web de ese portal.
Un amigo me comento de cierto programa en android que hace la autenticacion,pero yo me propongo hacer uno para windows,pero yo no cuento con el conocimiento avanzado qque mucho de ustedes tienen, por eso creare este hilo para que entre todos aporten y me corrijan lo que ire haciendo. ire tirando un poco de codigo aqui para que ustedes vean de que se trata y mientras pueden decirme que hacer. Usando un ejemplo de un downloader de indy descargue la pagina de acceso aunke solo me devuelve cierta informacion indispensable para comenzar. cuando accedemos a la web del proveedor: http://login.serviciowifi.cu:8080/showlogin.do nos devuelve esto Código PHP:
|
Qué raro esa respuesta. Genera un formulario invisible y lo envía automáticamente y sin espera. Y encima, con un XML comentado (y por tanto, inútil). :confused:
|
respuesta
Asie es, muchos no se dan uante porke pasa muy rapido, luego te envia a una web que te muestra otro form pero con mas dattos oultos, miren aca.
Código PHP:
|
TidHTTP para empesar
Creo que seria bueno empesar a usar este componente TidHTTP para tirar peticiones al servidor y ver que pasa. que me aconsejan, aunque creo que tendria que usar unas funciones para obtener los datos necesarios antes de enviar algo
|
Yo el mayor problema que veo es el analizar el HTML para saber qué campos tiene cada formulario. A partir de ahí no debería ser difícil generar una petición que envíe los datos apropiados.
Claro que el tema del JavaScript también es peliagudo, ya que a veces se usa para modificar o montar las peticiones, en lugar de que sea el <form > quien lo haga. Aunque por lo que he visto parece que aquí sólo se usa para comprobar los datos antes de enviarlos (por ejemplo, que no haya campos vacíos), pero al ser jQuery no quiero asegurarlo (ya es difícil con algunos JavaScript "limpios", como para encima intentar adivinarlo si se usa jQuery). Mi recomendación es que, si es posible, te pongas en contacto con los propietarios/autores de la página y preguntarles a ellos. Quizá se pueda usar un web-service o similar que te facilitaría mucho las cosas. |
Jquery
Con respecto a eso pues si ya veo que usa jquery en la web tambien vere de que forma la aislo eso del proyecto,modifico las funciones , y como dices es importante ver de que forma se obtiene determinado valor del html, estaba pensando convertirlo en un String para despues enontrar as posiciones de los objetos dentro del form, por suerte no hay mucha diferencia, solo queda programar.
|
Saludos amigos, hace un mes mas o menos logre hacer esto, prepare una clase que recupera esos formularios con una instancia de TIdHTTP, y analizo las respuestas con expresiones regulares para extrear la informacion de los formularios y posteriormente reenviarla al proximo URL, o sea: 1 - Formulario CMCCWLANFORM, 2 - Formulario de logueo, y finalmente cuando accedes te responde un pagina con informacion sobre la URL que debes consultar, por ejemplo, el "loggerid" y el "ATTRIBUTE_UUID" entre otros que por supuesto extraigo con expresiones regulares como les conte.
Bueno ahora, presento un problema que no comprendo, a veces trato de hacer la solicitud del formulario y el provedor no me responde, esto desde una PC conectada al Punto de Acceso, sin embargo, en ese mismo momento con un Smartphone hago la peticion de la URL por el browser y si me responde, alguien tiene alguna idea de que puede estar sucediento? muchas gracias antemano. aeff! |
respuesta
el error debe estar al usar el componente tidhttp
|
Cita:
En este hilo, y en cualquier otro, solamente debes participar para colaborar en ayudar al que inició el hilo, no para hacer tus propias preguntas. Gracias :) |
La franja horaria es GMT +2. Ahora son las 03:48:57. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi