Página 1 de 1

Mechanizando un router

NotaPublicado: 2008-11-24 08:44 @405
por 4LV4RO
Bueno les cuento lo que quiero hacer.
  1. Lo primero que quiero es conectarme a mi router (con un equipo dentro de la LAN) ingresando los campos de USUARIO y PASSWORD. /* El router utiliza una interfaz WEB para administrarlo. */

    Esto lo logre usando SAMIE, pero me gustaría hacerlo con Mechanize para que no quede solo para ser usado con Internet Explorer.
  2. Lo segundo, realizar un click sobre algún link que proporciona la página de bienvenida del router. por ej: status --> que muestra el tiempo de conexión, IP asignada, etc. /* El propósito de esto es lograr liberar la IP actual con el proveedor de Internet y que asigne una nueva IP */
  3. Tercero, realizar una especie de "LISTEN" al evento de descargas de IE o Mozilla. que informe sobre su estado (tiempo restante, velocidad de descarga, si terminó, etc.) para que cada vez que termine la descarga realice el primer punto.

Si existe otra forma de realizarlo o alguna otra sugerencia son todas bienvenidas. salu2.

PD: El punto 1 también lo hice con VB6 pero no pude lograr realizar el click en el enlace (usando WebBrowser).

NotaPublicado: 2008-11-24 09:10 @423
por explorer
Bienvenido a los foros de Perl en Español, 4LV4RO.

Casi cualquier cosa que puedas hacer con un navegador web lo puedes realizar con Mechanize, excepto si hay partes del web que se ejecutan con JavaScript.

En estos foros hay algunos ejemplos con Mechanize. Te mando un ejemplo de extracción de información.

Con respecto al segundo punto, tengo bastantes dudas de lo fácil o difícil que se puede el preguntar a una aplicación qué es lo que está haciendo. Existen protocolos de intercambio de mensajes para que las aplicaciones sepan lo que están haciendo, entre ellas, o para solicitar servicios. Tendrás que investigar esa parte.

Otra opción, más mundana, consistiría en ver el directorio donde se realizan las descargas: si existe algún fichero que se está descargando en esos momentos, debería tener una fecha de creación/modificación muy cercana. Esto yo lo he hecho en algún caso, en entornos Linux: se consideraba que no se estaba realizando ninguna descarga si no existía ningún fichero con más de 1 minuto de tiempo de "vida" en el sistema. Bastante malo el procedimiento, desde luego, pero el caso es que funcionaba, ya que sabía con anterioridad el ritmo de bajada de los ficheros. Por eso sabía el tiempo que me quedaba hasta la llegada del siguiente.