jueves, 15 de julio de 2010

Problemas al instalar Google Earth 5.2 en Linux

La finalidad de este mensaje no es la de instalar este software, sino más bien como solucionar el siguiente problema que da al ejecutarlo:

Fatal error in __driConfigOptions line 1, column 0: unknown encoding


Solución? ...sumamente simple ;)

cd google-earth/
wget http://librarian.launchpad.net/7037027/libGL.so.1 -O libGL.so.1


A mi me funcionó por lo menos.

[Ubuntu 10.04 (32 bits)]

lunes, 12 de julio de 2010

[Script] Información de minutos utilizados en Entel

Yap, amigos míos... (no se a quien le hablo, si mal que mal, nadie me lee jajaja)
voy a subir un código de mi autoría.
Ya se... muchos tienen que estar preguntándose: ¿y a mi que!?. Bueno, a mi me gusta el código y lo subo igual, punto :)

El código fue creado con la intención de meterlo dentro de mi iPhone para consultar mis minutos utilizados en la telefonía movil de Entel (o EntelPCS), sin tener que logearme en el pinche sitio para ver la info (esa pega se la dejo al "escri").

Dentro del script hay una sección para que ingresen su RUT, número de teléfono y PIN (tranquilos, que el código NO toma esa información para luego enviármela a mi server super secreto "roba-password-entel" ;) ).

Yap... aquí va... (mientras no encuentre un sitio donde almacenarlo, lo subiré aquí grotescamente).

#!/usr/bin/perl

#####################################################
#
# Desarrollado por: Zort
# Fecha: 11 de Julio de 2010
#
# Descripcion:
#   Obtiene la cantidad de minutos hablados (llamadas realizadas),
# los SMS-MMS enviados y los KB navegados (Banda Ancha solamente)
# de la pagina de Entel.
#
# Anexo:
#   Se omitieron todos los acentos en el codigo, para que no se
# vean caracteres erroneos en el caso de que el equipo donde
# se corra este codigo permita ver solo caracteres gringos.
#
# TODO:
#   Ver la posibilidad de que corra bajo SSL.
#
#####################################################

use strict;
use HTTP::Lite;

# Configuracion
# -----------------------
my $debug = 0;
my $movil = ""; # AQUI INGRESEN EL NUMERO DE TELEFONO
my $rut   = ""; # AQUI INGRESEN EL RUT (EJ: 11.222.333-4)
my $pin   = ""; # AQUI INGRESEN EL PIN (EJ: 1234)
# -----------------------


my $value_voz;
my $value_mensajes;
my $value_banda_ancha;
my $flag_voz;
my $flag_mensajes;
my $flag_banda_ancha;
my $flag = 0;
my $cookie;
my $status_message;
my $location;
my $http = new HTTP::Lite;

# Realizando la primera consulta al servidor
# --------------------------------------------------------
my $buic_rutdv = $rut;
$buic_rutdv =~ s/[\.\-]//g;
$location = "http://www.entelpcs.cl/login/valida_ws.iws?origen=home";
my %vars = (
    "funcion" => "ingreso",
    "ext" => "%2526Sistema%253D1011%2526Portal%253DON%2526desdelogin%253D%2526miEPCS%253DNEW%2526MENU%253DSI",
    "Sistema" => "1011",
    "Portal" => "ON",
    "desdelogin" => "SI",
    "buic_rutdv" => $buic_rutdv,
    "miEPCS" => "NEW",
    "buic" => "yes",
    "Movil" => $movil,
    "Rut" => $rut,
    "PIN" => $pin
);
$http->prepare_post(\%vars);
print "*** Consulta: $location\n" if ($debug);
my $req = $http->request($location)
    or die "Unable to get document: $!";
$status_message = $http->status_message();
$status_message =~ s/[^[:print:]]//g;
print "STATUS: $status_message ($req)\n" if ($debug);
# --------------------------------------------------------


# Obteniendo la direccion del nuevo salto y la cookie asignada
# --------------------------------------------------------
my @headers = $http->headers_array();
foreach my $header (@headers) {

    print $header . "\n" if ($debug);
    if ($header =~ /^Location: (.*)$/) {

        $location = $1;
    }
    elsif ($header =~ /^Set-Cookie: (.*)/) {

        $cookie = $1;
    }
}
print "------------------------------------\n" if ($debug);
# --------------------------------------------------------


# Realizando la segunda consulta al servidor
# --------------------------------------------------------
$http->reset();
$http->add_req_header("Cookie", $cookie);
print "*** Consulta: $location\n" if ($debug);
my $req = $http->request($location)
    or die "Unable to get document: $!";
$status_message = $http->status_message();
$status_message =~ s/[^[:print:]]//g;
print "STATUS: $status_message ($req)\n" if ($debug);
# --------------------------------------------------------


# Obteniendo la direccion del nuevo salto y la cookie asignada
# --------------------------------------------------------
my @headers = $http->headers_array();
foreach my $header (@headers) {

    print $header . "\n" if ($debug);
    if ($header =~ /^Location: (.*)$/) {

        $location = $1;
    }
    elsif ($header =~ /^Set-Cookie: (.*)/) {

        $cookie = $1;
    }
}
print "------------------------------------\n" if ($debug);
# --------------------------------------------------------


# Realizando la tercera consulta al servidor
# --------------------------------------------------------
$http->reset();
$http->add_req_header("Cookie", $cookie);
my $req = $http->request($location)
    or die "Unable to get document: $!";
$status_message = $http->status_message();
$status_message =~ s/[^[:print:]]//g;
print "STATUS: $status_message ($req)\n" if ($debug);
# --------------------------------------------------------


# Obteniendo la direccion del nuevo salto y la cookie asignada
# --------------------------------------------------------
my @headers = $http->headers_array();
foreach my $header (@headers) {

    print $header . "\n" if ($debug);
    if ($header =~ /^Location: (.*)$/) {

        $location = $1;
    }
    elsif ($header =~ /^Set-Cookie: (.*)/) {

        $cookie = $1;
    }
}
print "------------------------------------\n" if ($debug);
# --------------------------------------------------------


# Obteniendo el valor del trafico
# --------------------------------------------------------
my @body = split(/\n/, $http->body());
foreach my $line (@body) {

    if ($line =~ /Voz /) {

        $flag_voz = 1;
    }
    elsif (($flag_voz ==1) && ($line =~ /center/)) {

        $line =~ /align="center">([^<\( ]*)/;
        $value_voz = $1;
        $flag_voz = 0;
    }
    elsif ($line =~ /Banda Ancha/) {

        $flag_banda_ancha = 1;
    }
    elsif (($flag_banda_ancha ==1) && ($line =~ /center/)) {

        $line =~ /align="center">([^<\( ]*)/;
        $value_banda_ancha = $1;
        $flag_banda_ancha = 0;
    }
    elsif ($line =~ /Mensajes/) {

        $flag_mensajes = 1;
    }
    elsif (($flag_mensajes ==1) && ($line =~ /center/)) {

        $line =~ /align="center">([^<\( ]*)/;
        $value_mensajes = $1;
        $flag_mensajes = 0;
    }
}
# --------------------------------------------------------


# Deslogeandose del servidor
# --------------------------------------------------------
$http->reset();
$location = "http://mipcs.entelpcs.com/mipcs2/login?accion=salir";
$http->add_req_header("Cookie", $cookie);
my $req = $http->request($location)
    or die "Unable to get document: $!";
$status_message = $http->status_message();
$status_message =~ s/[^[:print:]]//g;
print "STATUS: $status_message ($req)\n" if ($debug);
# --------------------------------------------------------


print "Trafico Voz        : $value_voz minutos\n";
print "Trafico Mensajes   : $value_mensajes SMS, MMS, otros\n";
print "Trafico Banda Ancha: $value_banda_ancha kilobytes\n";


exit 1;


Shaludos!
Zort