Script en PERL para conexion telefonica en Windows
Aquí se detalla un script que desarrollé en Perl para mi conexión a NIU Banda Ancha de Alegro. Al ser una conexión inalámbrica (CDMA 1xEVDO)suele producir desconexiones indeseables que dejan las descargas inconclusas y por ello traté de hacer un BATCH sin éxito y probé con Perl que me dió buenos resultados como menciona bitfrost en otro caso similar en este comentario. A continuación el script:
#!/usr/local/perl
#
# Script que me permite conectar a Alegro de Forma Indefinida.
# Saludos,
# JosueCool
use strict;
use warnings;
my @estado;
while("true"){
#Obtener la salida del comando
open(ESTADO,"rasdial|");
#Asignar la salida a una variable
@estado=<ESTADO>;
close(ESTADO);
if ($estado[0] eq "Conectado a\n") {
} else {
#Realizar la conexión
system("rasdial \"ALEGRO 1x EVDO\" 096307320 05B9852D /PHONE:#777");
}
}
Explicación breve:
rasdial: Es un comando MS-DOS para conectarnos a la red. Devuelve ademas el estado de la conexión.
open() permite leer/escribir un archivo y operarlo a través de un filehandle para que Perl pueda manipular un archivo. El pipe "|" al final del comando rasdial indica a Perl que la salida generada por rasdial sea almacenada en el filehandle ESTADO, posteriormente se asigna esa salida a un arreglo o array que se identifica con la @ al lado de una variable.
Tomado el estado, se verifica si esta "Conectado a"; si es así no hay mas que hacer, pero, caso contrario ejecutar system() que similar a open() permite ejecutar comandos aunque no se puede tomar entrada/salida de los datos, el cual manda a rasdial como parámetros la conexión existente en las Conexiones de red, el usuario, la clave y el número a marcar.
Esta en bucle infinito precisamente para que cuando se caiga la conexión esta se restablezca inmediatamente.
Saludos,
JosueCool
Attachment | Size |
---|---|
JosueCool.pl_.txt | 426 bytes |
- JosueCool's blog
- Login to post comments
- 3408 reads
Comentarios recientes
8 years 26 weeks ago
8 years 50 weeks ago
8 years 50 weeks ago
8 years 51 weeks ago
10 years 13 weeks ago
11 years 21 weeks ago
11 years 21 weeks ago
11 years 22 weeks ago
12 years 18 weeks ago
12 years 25 weeks ago